Como obter o nome da chave a ser codificado para keymap no vimrc?

8

No Emacs, eu posso pressionar Ctrl-h , k , para descrever uma chave. Eu posso pegar o nome da chave mesmo que seja indefinido, por exemplo,

C-x <C-M-end> is undefined

Assim, fiquei sabendo que o nome da chave é C-x <C-M-end> .

Mas como você pode obter o nome da chave para o Vim?

Eu quero configurar um mapa de teclas para Ctrl-Shift-V e Shift-Insert , mas qual código devo usar?

É possível obter o nome da chave em tempo real?

    
por Xiè Jìléi 20.01.2011 / 04:20

3 respostas

1

O mais próximo que eu posso encontrar de describe-key ( Ctrl + H , K ) é o comando :map . Ele listará todos os mapeamentos.

Você também pode executar :map <key name> , mas precisa especificar <key> usando a sintaxe especial listada em notação de chaves .

Ou você pode tentar :map Ctrl + V <key> , o que deve permitir que você simplesmente pressione a tecla em vez de precisar usar a sintaxe especial.

Então, para ligar Ctrl + Deslocar + V , tente isto:

:map <C-S-v> whatever

ou

:map Ctrl + V Ctrl + Deslocamento + V whatever

Mas certifique-se de que o seu programa terminal já não use isso para algo especial como colar, caso contrário o Vim nunca verá a tecla pressionada.

Veja também map-alt-keys , que ajuda a explicar se o seu < A chave kbd> Alt deve ser escrita como <M-x> ou <A-x> .

    
por 20.01.2011 / 04:56
3

Para descobrir o que uma chave ou combinação de teclas produz no Vim, eu normalmente abro um buffer em branco com " :enew ", entro no modo de inserção, pressiono control-v , então a tecla ou chave combinação que eu quero identificar. Esse truque de controle-v também pode funcionar na linha: -command, portanto, definir mapeamentos para testes é bastante fácil. Por exemplo, " :map ", control-v e a combinação de teclas " :echo 'it works' ".

    
por 20.01.2011 / 07:15
0

Basta digitar Ctrl + V em tempo real e as teclas que deseja pressionar. Se você não encontrou o resultado esperado (como por exemplo <c-space> , <c-cr> , <M-i> , ...), isso significa que você está usando o vim e não o gvim. A maneira como o vim entende as teclas digitadas está ligada à configuração do (s) seu (s) terminal (is). O gvim usa suas próprias definições, portanto, não há nada para configurar.

    
por 20.01.2011 / 11:49

Tags