ฉันรู้ว่าในกลุ่มฉันสามารถเพิ่มได้
set nocompatible
ใน.vimrcเพื่อหลีกเลี่ยงปุ่มลูกศรที่แสดง A, B, C, D ในโหมดแทรก
แต่ฉันใช้ vi เวอร์ชัน 4.0 (gritter) 12/25/06
ฉันจะได้รับพฤติกรรมเดียวกันได้อย่างไร
== แก้ไข == (1)
ฉันใช้รุ่น vi จาก Arch Linuxซึ่งสร้างจากที่เก็บ CVSนี้(ส่งมอบครั้งล่าสุด 24 กุมภาพันธ์ 2550) ด้วยคำสั่งต่อไปนี้:
make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \
TERMLIB=ncurses FEATURES="-DCHDIR -DFASTTAG -DUCVISUAL -DMB -DBIT8"
และวิทยานิพนธ์สามแพทช์: การแก้ไข tubesize-สั้น overflow.patch , navkeys.patchและรักษา-dir.patch
== แก้ไข (2) ==
ปัญหาเกิดขึ้นในLXTerminal 0.2.0 , ปลวก 10-1 , Tilda 1.2.4-1 , Terminator 0.98-1และxterm 320-2แต่ไม่ใช่ในurxvt v9.21หรือในคอนโซลเสมือนของ Linux
== แก้ไข (3) ==
ตามที่สเปก Unix เดี่ยวลูกศรซ้ายลงลูกศรขวาลูกศรลูกศรขึ้นสอดคล้องกับลำดับ capname ต่อไปนี้: kcub1, kcud1, และkcuf1 kcuu1การเปรียบเทียบรายการ terminfo จากxtermและrxvt-unicode-256colorสำหรับ capterms เหล่านี้จะให้:
$ 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'.
แก้ไข xterm terminfo รายการโดย substituing '\EOD', '\EOB', '\EOC', '\EOA' โดย'\E[D', '\E[B', '\E[C', '\E[A'ควรจะแก้ปัญหาที่เกิดขึ้น แต่มันเป็นความคิดที่ดีหรือไม่? อาจจะเป็นการแบ่งโปรแกรมอื่น ๆ ที่ใช้ปุ่มลูกศรใช่ไหม
TERMในtermcapหรือterminfoฐานข้อมูลไม่สอดคล้องกับรหัสที่ผลิตโดยแป้นพิมพ์ วิธีการแก้ปัญหาคือไม่เปลี่ยนTERMแต่เพื่อดูว่าคุณviเชื่อมโยงกับtermcapหรือterminfoค้นหารหัสที่ปล่อยออกมาจากแป้นพิมพ์และแก้ไขฐานข้อมูลที่สอดคล้องกัน การร้องเรียนกับดูแลระบบอาจทำงานได้เช่นกัน
terminfoก็ควรใช้แล้ว