iTerm2 Vim alt + freccia destra / sinistra


13

Come utente Linux, sono molto abituato a saltare da una parola all'altra in vim / nano usando ALT+ lefto right.

Questo non sembra funzionare correttamente usando iTerm, sto usando zsh, ho provato ad aggiungere;

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

Funziona, ma solo all'interno di zsh, quindi ho commentato quelle righe e ho aggiunto in iTerm una scorciatoia da tastiera;

inserisci qui la descrizione dell'immagine

Funziona, ma solo per ALTleft

Come posso farlo funzionare anche per la freccia destra?

Risposte:


10

Nelle proprietà di iTerm vai su Profili -> Chiavi e imposta lì

  • Per ⌥→Invia sequenza di escape[1;5C
  • Per ⌥←Invia sequenza di escape[1;5D

inserisci qui la descrizione dell'immagine


Questo non funziona per me. Le sequenze di escape vengono inviate, ma vim sposta solo uno spazio avanti e indietro. Esecuzione del vim 7.3 predefinito fornito con OS X 10.8. Idealmente, mi piacerebbe cambiarlo da parte di Vim, senza modificare le impostazioni predefinite dell'emulatore di Terminale (poiché ciò comporterebbe una migliore portabilità).
slhck,

È strano, funziona sia in vim (da homebrew, non di default) sia in zsh con la configurazione predefinita da oh-my-zsh (in ~ / .oh-my-zsh / lib / key-bindings.sh).
eiennohito,

Non funziona neanche qui, posso usare alt + freccia dentro zsh, in Vim funziona solo con shift + freccia :(
seds

L'ho verificato ancora una volta sui sistemi remoti disponibili (Ubuntu 13.04, debian stabile e Linux scientifico) e funziona ovunque. Qual è l'output quando si preme Control + V, ⌥ →? Per me è ^ [[1; 5C
eiennohito,

Funziona per me: iTerm / Vi + zsh
Petro Semeniuk

7

Inizia visualizzando il codice chiave che il tuo terminale sta inviando a vim:

$ sed -n l
^[[1;9D 

Nell'esempio sopra, ho eseguito il comando sed e premuto Alt + Left.

La ^[[1;9Dè la sequenza sfuggito di essere inviato a vim, in modo che possiamo utente che per la nostra mappatura.

Aggiungi a vimrc:

map <Esc>[1;9D :tabn<CR>

Grazie, ha funzionato per me.
j5shi,


0

Nessuna di quelle risposte ha funzionato per me. Ho finito per caricare una VM Linux e ho controllato cosa avrei ottenuto <Alt-ARROW>.

Le 4 sequenze di escape che hanno funzionato per me sono quelle:

  • <Alt+Up>: [1;3A
  • <Alt+Down>: [1;3B
  • <Alt+Right>: [1;3C
  • <Alt+Left>: [1;3D

Fai attenzione a modificare le chiavi del profilo e non quelle principali che verranno sostituite da quelle del profilo (dove Alt + Frecce sono impostate di default su una sequenza esadecimale che non ha funzionato con vim).


-1

Solo un'altra possibile soluzione, vim offre movimenti di parole da soli, vedi:

:help word-motions

2
Dovresti includere le informazioni essenziali invece di inserire un riferimento qui.
pabouk,
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.