Nel terminale posso farlo premendo shift + home e shift + end, ma non sembra funzionare in vim. I tasti Home e Fine fanno scorrere solo la finestra del terminale. Vorrei saltare in modalità modifica.
Nel terminale posso farlo premendo shift + home e shift + end, ma non sembra funzionare in vim. I tasti Home e Fine fanno scorrere solo la finestra del terminale. Vorrei saltare in modalità modifica.
Risposte:
Questa risposta presuppone che tu stia utilizzando VIM in una finestra Terminale .
I collegamenti predefiniti per Home ed End sono leggermente diversi da ciò che un programma si aspetterebbe in base alla solita impostazione TERM (ovvero una variante xterm). Se vuoi attenersi ai collegamenti predefiniti (e devi usare le varianti Shifted nel Terminale ), potresti provare a inserire qualcosa del genere nel tuo .vimrc
:
:" map Mac OS X Terminal.app default Home and End
:map <ESC>[H <Home>
:map <ESC>[F <End>
:imap <ESC>[H <C-O><Home>
:imap <ESC>[F <C-O><End>
:cmap <ESC>[H <Home>
:cmap <ESC>[F <End>
Altrimenti, potresti provare a regolare i codici che Terminal invia quando usi Home e End (anche senza spostamento, se lo desideri). Una ricerca probabilmente rivelerebbe alcuni luoghi che descrivono come farlo ( eccone uno ). L'idea di base è che si desidera che Terminal invii ESC [1 ~ invece di ESC [H per Home e ESC [4 ~ anziché ESC [F per End (o Shift-Home / Shift-End se si desidera mantenere Home / Fine per accedere allo scrollback). Descriverei il processo in modo più dettagliato, ma ho solo la 10.4 e so che Terminal è stato modificato molto nella 10.5 e successive.
usa 0 e $ per spostarti all'inizio e alla fine della riga. Fare riferimento a questo sito: http://alvinalexander.com/linux/vi-vim-editor-end-of-line .
0
e $
.
Come aggiunta alla risposta di Chris , puoi anche ottenere la navigazione delle parole (con i Option+arrow
tasti), semplicemente aggiungendo queste quattro righe:
:map <ESC>f el
:imap <ESC>b <C-o>b
:imap <ESC>f <C-o>el
:cmap <ESC>f el
Si noti che o
è in minuscolo, in modo che non esca dalla insert
modalità per l'operazione. Puoi anche cambiare le lettere maiuscole O
nella risposta originale per lo stesso effetto.
In MacVim, puoi usare il comando 'Freccia sinistra' e il comando 'Freccia destra' per andare all'inizio e alla fine della riga mentre sei in modalità di modifica.
Vai a Terminale -> Preferenze -> Profili -> Tastiera e aggiungi:
Chiave: ↖ Azione: \ 033OH
Chiave: ↗ Azione: \ 033OF