Nas propriedades do iTerm, acesse Perfis - > Chaves e configuração lá
- Para ⌥ → Enviar seqüência de escape
[1;5C
- Para ← ← Enviar seqüência de escape
[1;5D
Como usuário do Linux, estou muito acostumado a pular de palavra em palavra no vim / nano usando ALT + à esquerda ou à direita .
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
Ele funciona, mas dentro do zsh apenas, então eu comentei essas linhas e adicionei no iTerm um atalho de teclado;
Ele funciona, mas somente para o ALT restante
Como posso fazer com que funcione para a seta para a direita também?
Nas propriedades do iTerm, acesse Perfis - > Chaves e configuração lá
[1;5C
[1;5D
Comece vendo o código da chave que seu terminal está enviando para o vim:
$ sed -n l
^[[1;9D
No exemplo acima, eu executei o comando sed e pressionei Alt + Left .
O ^[[1;9D
é a sequência de escape que está sendo enviada para o vim, portanto, podemos usá-la para nosso mapeamento.
Adicionar ao vimrc:
map <Esc>[1;9D :tabn<CR>
Eu li outra postagem descrevendo que para a opção left e opção right, é necessário vinculá-las às ações ^ [b e ^ [f, respectivamente. Ou seja, você os vincula a "Enviar sequência de escape" e vincular as chaves b e f.
Nenhuma dessas respostas funcionou para mim.
Acabei de carregar uma VM linux e verifiquei o que recebo com <Alt-ARROW>
.
As 4 sequências de escape que funcionaram para mim são aquelas:
<Alt+Up>
: [1;3A
<Alt+Down>
: [1;3B
<Alt+Right>
: [1;3C
<Alt+Left>
: [1;3D
Tenha o cuidado de editar as chaves do Perfil e não as principais que serão substituídas pelas do Perfil (onde Alt + Arrows são definidas por padrão para uma Seqüência Hexagonal que não funcionou com o vim).
Apenas uma outra solução possível, o vim oferece movimentos de palavras por si só, veja:
:help word-motions