Posso usare la chiave `<cmd>` nel terminale Vim?


Risposte:


12

<D-> funziona solo in MacVim.

Un rapido google restituirà un sacco di hack e soluzioni di terze parti. Tutte le soluzioni che conosco funzionano a livello di sistema o sono specifiche dell'applicazione: se Cmdrimappate solo in iTerm2, come aprirete una nuova finestra o una nuova scheda? Con ... con ... il ... MOUSE?

Non riesco a immaginare un buon motivo per rimappare la Cmdchiave di qualcosa su un Mac. Sarebbe folle.

Vim non è TextMate o qualunque altro editor tu abbia mai usato prima. Non c'è modo di trasferire tutte le tue vecchie abitudini senza soluzione di continuità, punto in bianco.

Invece di perdere tempo a cercare di trasformare Vim e il tuo terminale in qualcosa che non è e non può essere, dovresti imparare a usare e personalizzare Saggiamente Vim. Tutte le tue combinazioni Cmd+ Shift+ Ctrl+ Altnon ti porteranno da nessuna parte. Soprattutto in un terminal dove Altè spesso problematico e Cmdinutilizzabile.

Prendi in considerazione l'utilizzo di <leader>( :help leader):

  • è portatile su ogni piattaforma
  • è meno soggetto a conflitti con il sistema operativo o l'emulatore di terminale
  • apre molte possibilità facili da ricordare

Haha, grazie alla gravità, ora è molto più pulito.
romainl

Grazie per la risposta. Ne avevo sentito parlare <leader>ma non ero sicuro di come dovesse essere usato. Sono d'accordo con il tuo punto sulla portabilità, questo è parte del motivo per cui mi trasferisco a Vim. Grazie.
jordelver,

È possibile rimappare Cmda Controlin iTerm2, e poi nella stessa finestra, aggiungere collegamenti per aprire una nuova scheda con ^t, ecc allora tutto funziona!
Sean Clark Hess,

5

Ho scoperto che iterm2 ha un'opzione nelle impostazioni della tastiera per fare questo tipo di cose. Per ex sotto ho mappato command-enter per essere: wq

inserisci qui la descrizione dell'immagineinserisci qui la descrizione dell'immagine


Grazie per questa soluzione Questo è proprio quello che stavo cercando. Conosco <Leader>, ma penso che alcune cose come il salvataggio di un file dovrebbero essere universali.
Dmitry Biletskyy,

4

Per comandi semplici esiste una soluzione inviando il codice esadecimale appropriato al terminale. Ad esempio, volevo salvare in vim premendo cmd-s. Ho mappato cmd-sin iterm2 per inviare il codice esadecimale 0x13che è il codice per ctrl-s, poi ho mappato ctrl-sa :wqin vim.


Come fai esattamente una cosa del genere? Grazie.
nunos,

Non ha funzionato per me il codice esadecimale 0x13: / imgur.com/RjxOoLY
michalzuber

Per come fare, guarda le foto qui sotto - grazie a @jhickner per l'idea di guardare iTerm2
Neil McGill

3

La soluzione del 2016 è utilizzare il programma open source Karabiner che consente di rimappare modificatore e altri tasti con granularità molto fine , ad esempio

  • Rimappa solo la sinistra ⌘ Cmd o il Optiontasto.
  • Rimappare una chiave solo per applicazioni specifiche, ad esempio solo all'interno di Terminal, Emacs o macchina virtuale.

Ad esempio, ecco come rimappare il ⌘ Cmdtasto sinistro per agire come Ctrl solo all'interno del Terminale (e lasciare inalterato quello destro in modo da poter comunque utilizzare ad esempio ⌘ Cmd + Tabper passare da un'app all'altra):

moschettone-screenshot


Eccezionale. Ora posso usarlo correttamente in Vim, anche se il comando (a sinistra) + tab non "alt tab". Posso usare il comando giusto ma c'è comunque modo di mantenerlo in qualche modo?
meder omuraliev,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.