Zsh เสร็จทำให้เปิดใช้งาน shift-tab


13

เมื่อ zsh แสดงเมนูของความสำเร็จที่เป็นไปได้ฉันต้องการให้ฉันใช้shift-tabเพื่อเข้าถึงรายการที่เสร็จสมบูรณ์ก่อนหน้านี้ - มีตัวเลือกที่ควบคุมว่าจะใช้คีย์ใดในการเข้าถึงรายการที่เสร็จสมบูรณ์ก่อนหน้านี้หรือไม่

และถ้าเป็นเช่นนั้นสิ่งที่ฉันจะต้องเพิ่มไปยัง~/.zshrc ไฟล์ของฉันเพื่อตั้งค่า

ถ้ามันสร้างความแตกต่างฉันสามารถนำทางผ่านเมนูเสร็จโดยใช้ปุ่มลูกศร แต่ฉันไม่ชอบการทำเช่นนี้เพราะปุ่มลูกศรรู้สึกผิดที่และใช้งานไม่สะดวก

คำตอบ:


13

คุณต้องการผูกคำสั่งบรรณาธิการreverse-menu-completeเพื่อmenuselectkeymap

bindkey -M menuselect '^[[Z' reverse-menu-complete

ฉันไม่แน่ใจว่าอุปกรณ์พกพาเป็นลำดับ escape ^[[Zดังนั้นคุณอาจต้องการตรวจสอบ terminfo (5) เพื่อดูว่ามีวิธีการใช้$terminfoอาร์เรย์เพื่อผูกอย่างถูกต้องหรือไม่

โปรดทราบว่าmenuselectคีย์แมปจะพร้อมใช้งานหลังจากที่คุณโหลดzsh/complistโมดูล หากคุณกำหนดค่าระบบเสร็จสิ้นcompinstallโดยทั่วไปแล้วโมดูลนั้นจะถูกโหลดโดยอัตโนมัติในครั้งแรกที่คุณทำอะไรบางอย่าง เพื่อให้สามารถเพิ่มการเชื่อมโยงนั้นกับคุณ~/.zshrcคุณต้องโหลดโมดูลด้วยตนเองที่นั่นก่อนด้วย:

zmodload zsh/complist

^[[Zอยู่shift-tabในคอมพิวเตอร์ของฉันด้วยดังนั้นไม่ต้องกังวลว่าจะไม่พกพา ขอขอบคุณ. :)
Alexej Magura

1
ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันเรียกใช้zshหลังจากเพิ่มbindkeyบรรทัดลงใน~/.zshrcไฟล์ของฉัน: ~/.zshrc:bindkey:190: no such keymap `menuselect'
Alexej Magura

2
"${terminfo[kcbt]}"ที่จะเป็น
Thomas Dickey
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.