In vim, come mappare "comando-destra" e "comando-sinistra" all'inizio della linea e alla fine della linea su mac?


10

Sto cercando di farlo diventare come l'editing di testo predefinito su Mac. Ho provato map! <D-Left> 0 e map! <D-Right> $ in ~ / .vimrc, ma ovviamente non ha funzionato. Come posso fare questo?

Risposte:


9

Per quanto ne so, la sintassi del modificatore chiave di comando ( <D-...>) è efficace solo nelle istanze in modalità GUI di Vim su Mac OS X.

L' istanza di Vim deve essere basata sulla GUI perché la maggior parte degli emulatori di terminale ( Terminale , iTerm , ecc.) Non generano sequenze di controllo per le combinazioni di tasti Comando, quindi un'istanza di Vim solo tty non ha modo di sapere che una combinazione di tasti Comando è mai stata premuto (l'emulatore di terminale non invia mai nulla attraverso l'interfaccia tty). Infatti, il Terminale collega ⌘ ← e ⌘ → (Comando-Sinistra e -Destra) al ciclo attraverso le sue finestre aperte, quindi quei tasti sono “già presi” quando si digita nel contesto del Terminale .

MacVim (quando eseguito in modalità GUI) include mappature funzionali per (tra le altre sequenze di tasti in stile Mac)<D-Left>e<D-Right>(rispettivamente, a<Home>(quasi identico a0) e<End>(identico a$)). Un avvertimento è che queste mappature predefinite sono stabilite in$VIM/gvimrc, quindi possono essere correttamente sovrascritte dal tuo~/.gvimrc .

Penso che ci siano state altre versioni basate su GUI di Vim per Mac OS X, ma MacVim sembra l'unica moderna.

Approssimativamente, i file di avvio vengono elaborati in questo ordine: $VIM/vimrc, ~/.vimrc, $VIM/gvimrc, ~/.gvimrc. Dato che le mappe di MacVim , devi inserire la tua mappatura di (se in realtà vuoi sovrascriverla) in modo che abbia la "parola finale".$VIM/gvimrc<D-Left><D-Left>~/.gvimrc


Grazie. ho provato iTerm 2, ha funzionato con quello, ma comunque ... che dolore ... bentornato nella mia vita, Xcode
Marty
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.