Estou tentando mapear meu Ctrl e o sinal de adição juntos. Isto é o que estou tentando no meu vimrc:
nnoremap <C-=> : echo "Hello" <CR>
No entanto, parece que o mapeamento não está sendo acionado. Alguma sugestão sobre o que eu posso estar fazendo de errado? Estou usando o macvim.
key-bindings
macvim
James Franco
fonte
fonte
Respostas:
Infelizmente, não há uma maneira confiável de mapear Ctrl-=.
Devido à maneira como os
ctrl+key
acordes interagem com o terminal e são representados internamente, os únicos mapeamentos Ctrl que o Vim pode detectar são os definidos no padrão ASCII. Aqui está a lista completa dessasctrl+key
combinações e o byte que cada um representa.No entanto, observe que a maioria deles já tem uma função no Vim, e alguns são essencialmente idênticos a / indistinguíveis de outras teclas. por exemplo,
CTRL-M
tem o mesmo código-chave queEnter
, portanto, se você mapear um desses, também estará inevitavelmente mapeando o outro.Fonte: Vim-FAQ
Você pode contornar as restrições acima configurando o seu terminal para enviar uma certa sequência de bytes para o seu mapeamento, como neste encadeamento de estouro de pilha , mas isso definitivamente será um problema. Pessoalmente, prefiro escolher um mapeamento diferente.
Isso pode eventualmente ser corrigido, mas é improvável, uma vez que o Vim depende do terminal em que está sendo executado. No entanto, há uma boa possibilidade de que isso funcione no Neovim. Não sei se isso funciona agora ou não.
fonte