Estou usando o Putty -> Suse box -> vim 7.2
combo para edição e quero remapear o Ctrl + setas para uma tarefa específica. Mas, por alguma razão, o Vim ignora o atalho e entra no modo de inserção e insere o caractere "D" (à esquerda) de "C" (à direita).
Qual parte da minha configuração de teclado / terminal é responsável e como corrigi-la?
Respostas:
Descubra exatamente qual sequência de escape o seu terminal envia para Ctrl+ seta digitando Ctrl+ V, Ctrl+ arrow no modo de inserção: isso inserirá o
ESC
caractere inicial (mostrado como^[
no vim) literalmente, seguido pelo restante da sequência de escape. Diga ao vim sobre essas seqüências de escape com algo comoEu me lembro que Putty tem uma configuração padrão para o modo Application Cursor Keys que é inconveniente (eu esqueço o porquê); talvez você queira alternar essa configuração primeiro.
Observe que, embora as seqüências de escape variem entre os terminais, os conflitos (ou seja, uma sequência de escape que corresponde a chaves diferentes em terminais diferentes) são raros, portanto, não há necessidade particular de tentar aplicar os mapeamentos apenas em um tipo de terminal específico.
fonte
od -a
ouod -c
se você digitar octal e digite as teclas em questão. Veja "adicionado" na minha resposta para um exemplo.Sua melhor aposta é provavelmente examinar a configuração do modo Application Cursor Keys do PuTTY .
As seqüências padrão são enviadas ESCcomo prefixo e
[
seguidas deA
ppend ou hangeC
ou outras coisas, lançando você no modo de inserção.adicionado, seguindo Gilles
Uma versão um pouco mais explícita do escape ^ V pode ser vista com od (1). Aqui estou eu digitando ^ Up, ^ Down, ^ Right, ^ Left no meu terminal:
Então, meu terminal envia
^[[1;5A
quando pressiono Ctrl+↑fonte
Encontrei uma solução melhor aqui: http://vim.wikia.com/wiki/Fix_arrow_keys_that_display_A_B_C_D_on_remote_shell
Basta colocar esta string no seu
.vimrc
arquivo:Atualizar
Copie este arquivo para o seu
/home
e renomeie-o.vimrc
:fonte
para este e outros problemas de teclado do vim, eu simplesmente
fonte