key-bindings – Se corrigieron las teclas de flecha que mostraban A, B, C, D en vi (no en vim)

Pregunta:

Yo se que en vim puedo agregar

set nocompatible

en .vimrc para evitar que las teclas de flecha muestren 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 se construyó 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-tubeize-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 Especificación Única de Unix , la flecha hacia la izquierda, la flecha hacia abajo, la flecha hacia la derecha y la flecha hacia arriba corresponden respectivamente a los siguientes nombres de mayúsculas: kcub1 , kcud1 , kcuf1 y kcuu1 . La comparación de las entradas de 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'.

Modificar la entrada xterm terminfo sustituyendo '\EOD' , '\EOB' , '\EOC' , '\EOA' por '\E[D' , '\E[B' , '\E[C' , '\E[A' debería resolver el problema, pero ¿es una buena idea? ¿Quizás romperá el uso de las teclas de flecha de otros programas?

Respuesta:

Podría crear un alias que establezca su variable $TERM

alias vi='TERM=rxvt-unicode-256color vi'

Agregue eso al archivo rc de su shell y debe definirse para cada terminal que inicie.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım