Eu sei que no vim posso adicionar
set nocompatible
em .vimrc
Para evitar que as setas exibir A, B, C, D no modo de inserção.
Mas estou usando o vi Versão 4.0 (gritter) 25/12/06 .
Como posso obter o mesmo comportamento?
== EDIT == (1)
Estou usando a versão vi do Arch Linux, criada a partir deste repositório CVS (última confirmação em 24 de fevereiro de 2007) com o seguinte comando:
make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \
TERMLIB=ncurses FEATURES="-DCHDIR -DFASTTAG -DUCVISUAL -DMB -DBIT8"
e com esses três patches: fix-tubesize-short-overflow.patch , navkeys.patch e preserve-dir.patch .
== EDITAR (2) ==
Os problemas ocorrem no LXTerminal 0.2.0 , Cupim 10-1 , Tilda 1.2.4-1 , Terminator 0.98-1 e xterm 320-2 , mas não no urxvt v9.21 nem nos consoles virtuais do Linux.
== EDITAR (3) ==
De acordo com o standard Unix Especificação de seta para a esquerda, a seta para baixo, para a direita-seta, de seta para cima correspondem a, respectivamente, o seguinte capname: kcub1
, kcud1
, kcuf1
e kcuu1
. A comparação de entradas terminfo de xterm
e rxvt-unicode-256color
para esses capterms fornece:
$ infocmp xterm rxvt-unicode-256color | grep -E 'kcuf1|kcub1|kcud1|kcuu1'
kcub1: '\EOD', '\E[D'.
kcud1: '\EOB', '\E[B'.
kcuf1: '\EOC', '\E[C'.
kcuu1: '\EOA', '\E[A'.
Modificando o xterm terminfo entrada por substituing '\EOD'
, '\EOB'
, '\EOC'
, '\EOA'
por '\E[D'
, '\E[B'
, '\E[C'
, '\E[A'
deve resolver o problema, mas é uma boa idéia? Talvez isso atrapalhe o uso de outros programas nas teclas de seta?
fonte
TERM
nos bancos de dadostermcap
outerminfo
está fora de sincronia com os códigos produzidos pelo teclado. A solução não é alterar oTERM
, mas descobrir se o seuvi
está vinculadotermcap
outerminfo
encontrar os códigos de teclas emitidos pelo teclado e corrigir o banco de dados correspondente. Reclamar com o administrador de sistemas também pode funcionar.terminfo
.Respostas:
Você pode criar um alias que define sua
$TERM
variávelAdicione isso ao arquivo rc do seu shell e ele deverá ser definido para cada terminal que você iniciar.
fonte
Às vezes, esse comportamento pode resultar da configuração incomum de mapeamentos de teclas no seu
.vimrc
- por exemplo, se você tem algo que mapeia duas ESCteclas pressionadas:Em seguida, isso pode levar ao mau funcionamento do vim com as teclas de seta.
fonte