วิธีการผูกลูกศรใน ~ / .inputrc (readline) สำหรับโหมด vim insert?


3

เมื่ออยู่ใน Readline แอพที่เปิดใช้งานโหมด vim ใน ~ / .inputrc ( set editing-mode vi) มีวิธีผูก<Up>ปุ่มลูกศรในvi-insertโหมดหรือไม่? เพื่อแสดงรายการประวัติก่อนหน้าเช่น ดูเหมือนว่าฉันจะต้องกดปุ่ม ESC ก่อนแล้วจึงใช้งานได้

นี่คือความพยายามของฉันที่ทำให้มันใช้งานได้ (~ / .inputrc):

$if mode=vi
  # INSERT MODE
  set keymap vi-insert
  "\e[A": history-search-backward # up-arrow
  "\e[B": history-search-forward  # down-arrow

นอกจากนี้ยังทราบว่าเมื่อกดCtrl+vแล้วจะพิมพ์<Up>^[[A

ฉันจัดการเพื่อให้มันทำงานเหมือนที่ฉันต้องการใน zsh: http://paulgoscicki.com/archives/2012/09/zsh-vi-mode-with-emacs-keybindings/

คำตอบ:


0

สิ่งที่คุณต้องการทำงานอยู่bashแล้ว: ฉันสามารถใช้ลูกศรขึ้นเพื่อแสดงรายการประวัติก่อนหน้าในโหมด vi-insert คำสั่งต่อไปนี้แสดงวิธีการกำหนดค่า บางทีคุณอาจจะทำให้เกิดความสับสนhistory-search-backwardกับhistory-prev?

$ bind -m vi-insert -p | grep hist
# beginning-of-history (not bound)
# dynamic-complete-history (not bound)
# end-of-history (not bound)
"\C-s": forward-search-history
# history-and-alias-expand-line (not bound)
# history-expand-line (not bound)
#  (not bound)
# history-search-forward (not bound)
"\eOB": next-history
"\e[B": next-history
# non-incremental-forward-search-history (not bound)
# non-incremental-forward-search-history-again (not bound)
# non-incremental-reverse-search-history (not bound)
# non-incremental-reverse-search-history-again (not bound)
"\eOA": previous-history
"\e[A": previous-history
"\C-r": reverse-search-history
# vi-fetch-history (not bound)

คุณกำลังสับสนกับREADLINEด้วยกระสุน ฉันไม่มีปัญหาในการกำหนดค่าพฤติกรรมที่ต้องการในเชลล์ตัวเลือกซึ่งก็คือ zsh ฉันมีปัญหากับแอพ Readline เช่นคอนโซล Postgresql, IRB เป็นต้น
PawełGościcki
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.