Como corrigir Ctrl + setas no Vim?

23

Estou usando o Putty -> Suse box -> vim 7.2 combo para edição e quero remapear a combinação Ctrl + arrows para uma tarefa específica. Mas por algum motivo, o Vim ignora o atalho e entra no modo de inserção e insere o caractere "D" (para a esquerda) de "C" (para a direita).

Qual parte da minha configuração de teclado / terminal é a culpa e como corrigi-lo?

    
por Alex B 07.09.2010 / 05:47

4 respostas

22

Descobrir exatamente qual seqüência de escape seu terminal envia para Ctrl + seta digitando Ctrl + V , Ctrl + seta no modo de inserção: isto irá inserir o caractere ESC inicial (mostrado como ^[ no vim) literalmente, seguido pelo resto da seqüência de escape. Então diga ao vim sobre essas sequências de escape com algo como

map <ESC>[5D <C-Left>
map <ESC>[5C <C-Right>
map! <ESC>[5D <C-Left>
map! <ESC>[5C <C-Right>

Parece que lembro que a Putty tem uma configuração padrão para as teclas do cursor do aplicativo modo que é inconveniente (esqueci por quê), você pode querer alternar essa configuração primeiro.

Observe que, embora as seqüências de escape variem entre terminais, os conflitos (isto é, uma seqüência de escape que corresponde a diferentes chaves em terminais diferentes) são raros, portanto não é necessário tentar aplicar os mapeamentos somente em um determinado tipo de terminal. p>     

por 07.09.2010 / 23:12
2

Encontrei uma solução melhor aqui: link

Basta colocar esta string no seu arquivo .vimrc :

:set term=cons25

Atualizar

Copie este arquivo para seu /home , renomeie-o para .vimrc :

/usr/share/vim/vim_VERSION_/vimrc_example.vim
    
por 10.04.2013 / 18:38
0

para este e outros problemas de teclado vim que simplesmente faço

vim ~/.vimrc
set nocompatible
    
por 13.01.2018 / 12:29