No Emacs, eu posso pressionar Ctrl-h, kpara descrever uma chave. Posso obter o nome da chave, mesmo que seja indefinido, por exemplo,
C-x <C-M-end> is undefined
Assim, conheci o nome da chave C-x <C-M-end>
.
Mas como você pode obter o nome da chave do Vim?
Desejo configurar um mapa de teclas para Ctrl-Shift-Ve Shift-Insert, mas qual código devo usar?
É possível obter o nome da chave em tempo real?
M
ouA
será mapeado paraAlt
. Mas<M-h>, <M-l>
simplesmente não funciona. Não sei se o nome da chave é inválido ou se os eventos da chave não foram enviados ao Vim. Sem registro, sem pista.Alt
é difícil, porque a maioria dos terminais de enviarESC
, em seguida,x
quandoAlt+x
é pressionado, e como Vim sei que você não pressioneESC
entãox
. Basicamente,Alt
só funciona em Gvim.Para descobrir o que uma tecla ou combinação de teclas gera no Vim, normalmente eu abro um buffer em branco com "
:enew
", insiro o modo de inserção, pressione e control-v, em seguida, a combinação de teclas ou teclas que quero identificar. Esse truque control-v também pode funcionar na linha de comando:, portanto, definir mapeamentos para teste é bastante fácil. Por exemplo, ":map
" control-ve a combinação de teclas ":echo 'it works'
".fonte
Basta digitar Ctrl+ Von-the-fly e as teclas que deseja pressionar. Se você não encontrou o resultado esperado (como, por exemplo
<c-space>
,<c-cr>
,<M-i>
, ...) significa apenas que você está usando vim e não gvim. A maneira como o vim entende as chaves digitadas está ligada à configuração do (s) seu (s) terminal (s). O gvim usa suas próprias definições; portanto, não há nada para configurar.fonte