So che in vim posso aggiungere
set nocompatible
in .vimrc
modo da evitare che i tasti freccia visualizzazione A, B, C, D in modalità di inserimento.
Ma sto usando vi versione 4.0 (smerigliatrice) 25/12/06 .
Come posso ottenere lo stesso comportamento?
== EDIT == (1)
Sto usando la versione vi di Arch Linux che è costruita da questo repository CVS (ultimo commit 24 febbraio 2007) con il seguente comando:
make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \
TERMLIB=ncurses FEATURES="-DCHDIR -DFASTTAG -DUCVISUAL -DMB -DBIT8"
e con queste tre patch: fix-tubesize-short-overflow.patch , navkeys.patch e preserv-dir.patch .
== EDIT (2) ==
I problemi si verificano in LXTerminal 0.2.0 , Termite 10-1 , Tilda 1.2.4-1 , Terminator 0.98-1 e xterm 320-2 ma non in urxvt v9.21 né nelle console virtuali Linux.
== EDIT (3) ==
Secondo la Single Unix Specification freccia a sinistra, freccia giù, freccia destra, freccia SU corrispondono rispettivamente seguente capname: kcub1
, kcud1
, kcuf1
e kcuu1
. Confrontando le voci terminfo da xterm
e rxvt-unicode-256color
per questi capitoli si ottiene:
$ 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'.
Modifica del xterm terminfo ingresso di substituing '\EOD'
, '\EOB'
, '\EOC'
, '\EOA'
da '\E[D'
, '\E[B'
, '\E[C'
, '\E[A'
dovrebbe risolvere il problema, ma è una buona idea? Forse interromperà l'utilizzo di altri programmi con i tasti freccia?
TERM
nel database termcap
o non terminfo
è sincronizzata con i codici prodotti dalla tastiera. La soluzione non è quella di cambiare il TERM
, ma per scoprire se il tuo vi
è collegato contro termcap
o terminfo
, trovare i codici chiave emessi dalla tastiera e correggere il database corrispondente di conseguenza. Lamentarsi anche con l'amministratore di sistema potrebbe funzionare.
terminfo
.