iTerm2 vim não pode mapear chave de alt

5

Estou tendo problemas para mapear as ligações de teclas alt no vim no iTerm2. Eu quero mapear atalhos para alternar entre buffers como este:

map <A-Right> <C-w>l
map <A-Left> <C-w>h
map <A-Down> <C-w>j
map <A-Up> <C-w>k

Mas não consigo fazer funcionar. Eu tentei de tudo, definindo a chave de opção como "Normal", "Meta" e "+ Esc" nas configurações do perfil. Eu tentei <M-Right> e <T-Right> , mas eles não funcionam também. Existem posts em superusuário e stackoverflow, mas eles usam a versão antiga do iTerm2 (v0.x).

As únicas coisas que consegui trabalhar são <T-up> e <T-down> , ou quando eu uso Macvim.

Estou usando o iTerm2 v1.0.0.20120203 e o Mac OS X 10.7.5 em um Macbook Pro.

    
por Eddy 10.12.2012 / 17:54

2 respostas

2

Como o Mac OS X usa a tecla de opção para inserir caracteres, os mapeamentos <A-[key]> normais não funcionarão. Assim, :h i_CTRL-V se torna seu amigo. Seu mapeamento de seta para a direita, por exemplo, pode ser digitado assim:

map controle V opção <C-w>l

Isso resultará no que parece:

map ^[f <C-w>l

Observe, no entanto, que não é possível copiar e colar os itens acima, pois ^[ é um caractere no vim, mas é representado aqui com dois caracteres. A maioria dos usuários do vim sugere, no entanto, que você não use as teclas de seta para isso (ou qualquer coisa). Eu uso map <C-l> <C-w>l (e da mesma forma para h, j, k), pois mantém minhas mãos no teclado.

    
por 18.10.2015 / 19:32
0

Veja esta minha resposta sobre uma questão semelhante. Meu conselho é usar :h mapleader .

    
por 10.12.2012 / 22:33