Como usuário do Linux, estou muito acostumado a pular de uma palavra para outra no vim / nano usando ALT+ leftou right.
Isso não parece funcionar corretamente usando o iTerm, estou usando o zsh, tentei adicionar;
bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word
Funciona, mas apenas dentro do zsh, comentei essas linhas e adicionei no iTerm um atalho de teclado;
Funciona, mas apenas para o ALTleft
Como posso fazê-lo funcionar para a seta direita também?
Comece visualizando o código da chave que seu terminal está enviando para o vim:
No exemplo acima, executei o comando sed e pressionei Alt + Left.
A
^[[1;9D
é a sequência de escape que está sendo enviada para o vim, para que possamos utilizá-la para o nosso mapeamento.Adicione ao vimrc:
fonte
Li outro post descrevendo que, para a opção esquerda e a direita, é necessário vinculá-las às ações ^ [be ^ [f, respectivamente. Ou seja, você os vincula a "Enviar sequência de escape" e a tecla b e f.
http://elweb.co/making-iterm-2-work-with-normal-mac-osx-keyboard-shortcuts/
fonte
Nenhuma dessas respostas funcionou para mim. Acabei carregando uma VM Linux e verifiquei com o que eu iria receber
<Alt-ARROW>
.As 4 sequências de escape que funcionaram para mim são as seguintes:
<Alt+Up>
:[1;3A
<Alt+Down>
:[1;3B
<Alt+Right>
:[1;3C
<Alt+Left>
:[1;3D
Tenha cuidado para editar as chaves de perfil e não as principais que serão substituídas pelas de perfil (onde Alt + Arrows são definidas por padrão como uma sequência hexadecimal que não funcionou com o vim).
fonte
Apenas uma outra solução possível, o vim oferece movimentos de palavras por conta própria, consulte:
fonte