Perché i miei tasti freccia non funzionano in VIM sotto iTerm?


10

Funzionano perfettamente se uso Terminal e avvio una sessione VIM, ma in iTerm devo ricorrere all'uso di HJKL per eseguire il movimento da sinistra in su.

In Terminal e iTerm TERM = xterm-color. Il mio .vimrcè piuttosto snello e non ci sono vincoli chiave impostati che potrebbero causare questo problema.

iTerm v0.10.

Risposte:


5

Prova quanto segue:

  1. Dal Segnalibri voce di menu, selezionare Gestione segnalibri ... .
  2. Scegli il segnalibro predefinito e fai clic sull'icona di modifica.
  3. Modificare l' impostazione della tastiera su Globale .

Ho avuto lo stesso problema su iTerm2. Non esiste un menu Segnalibri :(
Wei Hu

1
@Wei: sono chiamati profili in iTerm2. Profili -> Apri profili ... e da lì puoi caricare le impostazioni predefinite xterm per Tastiera per i profili.
Ian C.

@Ian, grazie. Ho trovato le impostazioni ma il caricamento delle impostazioni predefinite di xterm non ha risolto il problema.
Wei Hu,

@WeiHu: Il suggerimento originale di sentinel era di caricare l'impostazione Global, non quella di xterm, e mi aspetto che questo si ripercuota su iTerm2: proverò non appena installo iTerm2. So che Ian C. ha scritto xterm, ma forse era un errore di battitura.
Blaisorblade,

Per iTerm2, c'è una sezione FAQ: iterm2.com/#/section/faq Uso "Tipo terminale report: xterm-256color" insieme alle combinazioni di tasti xterm predefinite; puoi provare quelli da Terminal.app, ma le combinazioni di tasti sembrano non essere correlate. Per me l'unica cosa importante era impostare Alt in modo che si comportasse come + Esc anziché Meta, ma ciò non dovrebbe applicarsi alle frecce (per me, ha riparato Alt-B e gli amici sotto lo schermo).
Blaisorblade,

3

Quanto segue ha funzionato per me.

In iTerm2:

  • Profili -> Apri profili ...
  • Modifica profili ...
  • Scheda Chiavi
  • Dal menu a discesa Carica preimpostazione, seleziona Compatibilità Terminal.app

2

Ecco come ho risolto:

nnoremap <silent> <ESC>^[A <Nop>
nnoremap <silent> <ESC>^[B <Nop>
nnoremap <silent> <ESC>^[D <Nop>
nnoremap <silent> <ESC>^[C <Nop>

Nota:

I caratteri "^ [" non devono essere digitati, ma li ottieni facendo: - Ve premendo la posizione corrispondente della freccia del cursore (su, giù, sinistra, destra).

Testato con: iTerm2 (build 1.0.0.20140629)


1

Sono stato in grado di risolvere questo problema con iTerm2 Build 3.0.15 e il seguente estratto dal mio .vimrc:

" Map alternate key combination for Esc.
noremap <c-[> <Esc>
" Map arrow keys for nomal mode.
nnoremap <silent> <Esc><Up>A <Nop>
nnoremap <silent> <Esc><Down>B <Nop>
nnoremap <silent> <Esc><Right>C <Nop>
nnoremap <silent> <Esc><Left>D <Nop>

HTH.

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.