Você precisa declarar as sequências de escape enviadas pelos seus terminais usuais em ~/.vimrc
. Em teoria, as seqüências de escape dependem do terminal. Na prática, se uma seqüência de escape corresponde a uma determinada tecla em um determinado terminal, outros terminais enviam-na para a mesma chave ou não a enviam de forma alguma, portanto, você pode acumular as definições e não se preocupar com conflitos. / p>
Para descobrir qual sequência de escape uma tecla envia, entre no modo de inserção e pressione Ctrl + V seguido pela tecla. Isso insere a seqüência de escape literalmente.
Coloque diretivas como estas no seu ~/.vimrc
(usando as sequências de escape que você observou):
function Allmap(mapping)
execute 'map' a:mapping
execute 'map!' a:mapping
endfunction
call Allmap(' <ESC>[A <Up>')
call Allmap(' <ESC>[B <Down>')
call Allmap(' <ESC>[C <Right>')
call Allmap(' <ESC>[D <Left>')
call Allmap(' <ESC>[F <End>')
call Allmap(' <ESC>[H <Home>')
call Allmap(' <ESC>[5~ <PageUp>')
call Allmap(' <ESC>[6~ <PageDown>')
call Allmap(' <ESC>[k4~ <C-Left>')
call Allmap(' <ESC>[5D <C-Left>')
call Allmap(' <ESC>Od <C-Left>')
call Allmap(' <ESC>[k6~ <C-Right>')
call Allmap(' <ESC>[5C <C-Right>')
call Allmap(' <ESC>Oc <C-Right>')