Sé que en vim puedo agregar
set nocompatible
en .vimrc
Para evitar que las teclas de flecha de la pantalla A, B, C, D en el modo de inserción.
Pero estoy usando vi Versión 4.0 (gritter) 25/12/06 .
¿Cómo puedo obtener el mismo comportamiento?
== EDITAR == (1)
Estoy usando la versión vi de Arch Linux, que está construida a partir de este repositorio CVS (última confirmación el 24 de febrero de 2007) con el siguiente comando:
make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \
TERMLIB=ncurses FEATURES="-DCHDIR -DFASTTAG -DUCVISUAL -DMB -DBIT8"
y con estos tres parches: fix-tubesize-short-overflow.patch , navkeys.patch y preserve-dir.patch .
== EDITAR (2) ==
Los problemas ocurren en LXTerminal 0.2.0 , Termite 10-1 , Tilda 1.2.4-1 , Terminator 0.98-1 y xterm 320-2, pero no en urxvt v9.21 ni en las consolas virtuales de Linux.
== EDITAR (3) ==
De acuerdo con la Single Unix Specification flecha a la izquierda, flecha hacia abajo, haga flecha, flecha hacia arriba, respectivamente, corresponden a los siguientes capname: kcub1
, kcud1
, kcuf1
y kcuu1
. La comparación de las entradas terminfo de xterm
y rxvt-unicode-256color
para estos capterms da:
$ 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'.
La modificación de la xterm terminfo entrada por substituing '\EOD'
, '\EOB'
, '\EOC'
, '\EOA'
por '\E[D'
, '\E[B'
, '\E[C'
, '\E[A'
debe resolver el problema, pero es una idea buena? ¿Quizás interrumpirá el uso de otras teclas de flecha de programas?
fuente
TERM
en latermcap
oterminfo
las bases de datos está fuera de sincronía con los códigos producidos por el teclado. La solución no es cambiar elTERM
, sino averiguar si suvi
enlace está relacionado contermcap
oterminfo
, encontrar los códigos de teclas emitidos por el teclado y corregir la base de datos correspondiente en consecuencia. Quejarse al administrador del sistema también podría funcionar.terminfo
.Respuestas:
Podría crear un alias que establezca su
$TERM
variableAgregue eso al archivo rc de su shell y se debe definir para cada terminal que inicie.
fuente
A veces, este comportamiento puede ser el resultado de la configuración de asignaciones de teclas inusuales en su
.vimrc
- por ejemplo, si tiene algo que asigna dos ESCpulsaciones de teclas:Entonces puede provocar un mal funcionamiento de vim con las teclas de flecha.
fuente