Readline ในโหมด vi: ฉันจะเปิดใช้ลูกศรขึ้น / ลงได้อย่างไร


8

เมื่อ bash มีการเชื่อมโยง vi (set -o vi) ลูกศรขึ้น / ลงจะทำงานในทั้งคำสั่งและโหมดการแทรก เมื่อฉันตั้งค่า readline ของ ~ / .inputrc ให้ใช้โหมด vi (ตั้งค่าโหมดแก้ไข vi) แอปพลิเคชันเช่น irb จะไม่ได้รับฟังก์ชันการทำงานของลูกศร ฉันได้ลอง "set-enable-keypad on" ใน inputrc ไม่มีผล

ฉันจะรับฟังก์ชั่นลูกศรเหมือนทุบตีในแอพพลิเคชั่นอื่น ๆ ที่รู้จัก readline ได้อย่างไร


คุณคิดออกโดยบังเอิญหรือไม่? :)
gak

ดูเหมือนว่าเป็นข้อผิดพลาดในการสนับสนุน IRB Readline ของ Ruby 1.9 เนื่องจากปุ่มลูกศรทำงานที่อื่น (Python เชลล์แบบโต้ตอบโดยใช้ rlwrap กับ SBCL, Ruby 1.8 IRB และอื่น ๆ )
atomicules

คำตอบ:


1

ดูเหมือนว่าจะมีปัญหาเฉพาะกับ Readline ของ Ruby เท่านั้น (และยังมีอยู่)

ฉันจัดการกับมันโดยข้ามset editing-mode viถ้าเราใช้ readline ของ ruby:

$if ruby
$else
  set editing-mode vi

  ...

$endif

ไม่มีอะไรที่ต้องทำอีกเลยเว้นแต่ว่าไลน์ของทับทิมจะได้รับการแก้ไข


หากการแมปทำงานในโหมด emacs ทำไมไม่คัดลอกข้าม
Tom Hale

0

จนถึงตอนนี้วิธีเดียวที่ฉันสามารถใช้ปุ่มลูกศรขึ้น / ลงสำหรับประวัติได้คือการกด ESC ก่อน

สิ่งนี้สามารถใช้งานร่วมกับปุ่ม j และ k ได้เช่นกันหากกดปุ่ม ESC ก่อน


ฉันพบว่าj & kเป็นจำนวนมากที่พิมพ์ได้ง่ายกว่าลูกศรขึ้น / ลง ...
jahroy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.