나는 vim에서 내가 추가 할 수 있다는 것을 알고있다.
set nocompatible
에서 .vimrc
화살표 키를 피하기 위해 A, B, C, 삽입 모드 D 표시.
그러나 vi 버전 4.0 (gritter) 12/25/06을 사용하고 있습니다.
같은 행동을 어떻게 얻을 수 있습니까?
== 편집 == (1)
이 CVS 저장소 (2007 년 2 월 24 일 마지막 커밋) 에서 빌드 된 Arch Linux 의 vi 버전을 다음 명령과 함께 사용하고 있습니다.
make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \
TERMLIB=ncurses FEATURES="-DCHDIR -DFASTTAG -DUCVISUAL -DMB -DBIT8"
그리고 이것들 과 함께 세 가지 패치 : fix-tubesize-short-overflow.patch , navkeys.patch 및 preserve-dir.patch .
== 편집 (2) ==
LXTerminal 0.2.0 , Termite 10-1 , Tilda 1.2.4-1 , Terminator 0.98-1 및 xterm 320-2 에서 문제가 발생 하지만 urxvt v9.21 또는 Linux 가상 콘솔에서는 발생 하지 않습니다.
== 편집 (3) ==
에 따르면 단일 유닉스 규격 왼쪽 화살표를 각각 다음 capname에 해당 위쪽 화살표, 오른쪽 화살표, 아래쪽 화살표, : kcub1
, kcud1
, kcuf1
와 kcuu1
. 이러한 capterm xterm
과의 terminfo 항목을 비교하면 rxvt-unicode-256color
다음 과 같은 이점이 있습니다.
$ 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'.
substituing에 의해 항목의 terminfo xterm이나 수정 '\EOD'
, '\EOB'
, '\EOC'
, '\EOA'
에 의해 '\E[D'
, '\E[B'
, '\E[C'
, '\E[A'
문제를 해결하지만 좋은 아이디어입니다해야합니까? 어쩌면 다른 프로그램의 화살표 키 사용법을 깰 수 있습니까?
TERM
에서 termcap
또는 terminfo
데이터베이스는 키보드에 의해 생성 된 코드와 동기화를 벗어났습니다. 해결책은을 변경하는 TERM
것이 아니라 또는에 vi
링크되어 있는지 확인 하고 키보드에서 방출되는 키 코드를 찾은 다음 해당 데이터베이스를 수정하십시오. sysadmin에 대한 불평도 작동 할 수 있습니다. termcap
terminfo
terminfo
합니다.