เลือกผลลัพธ์เฉพาะจากคำแนะนำการทำให้สมบูรณ์


10

สมมติว่าฉันมี 3 ไฟล์ในไดเรกทอรีเฉพาะ: abc.txt, aww.txt, ant.txt

ถ้าฉันทำ: cat a(และกดที่แท็บเพื่อดูตัวเลือก) เทอร์มินัลจะแสดง 3 ชื่อไฟล์:abc.txt, aww.txt, ant.txt

มีวิธีการเลือกผลลัพธ์ที่ n แทนที่จะพิมพ์โดยระบุหมายเลขดัชนีในผลลัพธ์ที่เทอร์มินัลแสดงหรือไม่

สิ่งที่ต้องการ: cat a2จะได้รับไฟล์ที่สอง ( aww.txt)?


ไม่ใช่ว่าฉันรู้ ใน Zsh คุณสามารถวนซ้ำความสำเร็จที่เป็นไปได้ทั้งหมดกดปุ่ม TAB หลายครั้ง (ieeg กดปุ่ม TAB 4 ครั้งจะเสร็จสมบูรณ์ant.txt) นอกจากนี้ยังสามารถตั้งค่าเพื่อให้สามารถวนถอยหลังไปข้างหลังเพื่อการนำทางที่ดีขึ้น เห็นได้ชัดว่าหมายถึงการเปลี่ยนเปลือกเป็น Zsh หากคุณพิจารณาว่าเป็นทางเลือกที่ดีพอฉันสามารถเขียนคำตอบสำหรับสิ่งนั้นได้
kos

คำตอบ:


11

สมมติว่าคุณใช้ bash ให้เพิ่มสิ่งต่อไปนี้ใน~/.bashrc:

bind '"\e[6~": menu-complete'
bind '"\e[5~": menu-complete-backward'

หรือเปลี่ยนค่าเริ่มต้นสำหรับโปรแกรมทั้งหมดที่ใช้ไลบรารีการเติมเต็มของ readline ไม่ใช่แค่ทุบตีสร้างไฟล์~/.inputrcที่มี:

$include /etc/inputrc
"\e[6~": menu-complete
"\e[5~": menu-complete-backward

ตอนนี้เมื่อคุณเปิดเทอร์มินัลใหม่คุณสามารถกด:

  • TAB ตามปกติเพื่อดูความสำเร็จที่มีอยู่
  • Pg Dn เพื่อเลือกความสำเร็จครั้งแรกหรือเปลี่ยนเป็นสิ่งต่อไป
  • Pg Up เพื่อเลือกความสำเร็จที่ผ่านมาหรือเปลี่ยนไปเป็นก่อนหน้า
  • Alt+ n Pg Dnเพื่อเลือกความสำเร็จที่ n หรือย้ายไปข้างหน้า n ความสำเร็จ

ดังนั้นสำหรับประเภทตัวอย่างของคุณPg DnPg DnหรือAlt+ เพื่อรับไฟล์ที่สอง2Pg Dnaww.txt


สมมติว่าคุณกำลังใช้งานcdและวนรอบไดเรกทอรีต่างๆ คุณกดปุ่มใดเพื่อ "เลือก" ไดเรกทอรีนั้นและเริ่มหมุนเวียนเนื้อหาของไดเรกทอรีนั้น มีสิ่งอื่นที่จะตั้งค่า / ผูกหรือไม่
Tony

ทางเลือกถ้าคุณไม่ต้องการที่จะย้ายมือของคุณไกลจากแถวบ้านแป้นพิมพ์คือการใช้ Ctrl + Alt + P แทน PageUp และ Ctrl + Alt + N แทน PageDown ซึ่งสามารถทำได้ผ่านทางและbind '"\e\20": menu-complete-backward' bind '"\e\16": menu-complete'
Ruslan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.