Sé que en vim puedo agregar
set nocompatible
en .vimrcPara 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, kcuf1y kcuu1. La comparación de las entradas terminfo de xtermy rxvt-unicode-256colorpara 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?
TERMen la termcapo terminfolas bases de datos está fuera de sincronía con los códigos producidos por el teclado. La solución no es cambiar el TERM, sino averiguar si su vienlace está relacionado con termcapo terminfo, 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.