3
ทุบตีการเติมข้อมูลอัตโนมัติด้วยช่องว่างเพิ่มเติม - ทำไมและวิธีแก้ไข
ฉันใช้ความสมบูรณ์ของแท็บมากกว่าการพิมพ์ตัวอักษร ฉันเคยพิมพ์rm ~/De<TAB>และมันจะเสร็จสมบูรณ์เพื่อrm ~/Desktop/ให้ฉันสามารถดำเนินการต่อในระดับต่อไป เมื่อเร็ว ๆ นี้พฤติกรรมนั้นเปลี่ยนไป ตอนนี้การเสร็จสมบูรณ์ให้ผลrm ~/Desktop<SPACE>ซึ่งหมายความว่าฉันต้องถอยกลับและพิมพ์เครื่องหมายทับหากฉันต้องการดำเนินการต่อ นี่ทำให้ฉันร้องไห้ การเปลี่ยนแปลงดูเหมือนจะอยู่ในฟังก์ชั่น_longopt()ใน/etc/bash_completionแต่ก็เท่าที่ฉันสามารถติดตาม การเปลี่ยนแปลงนี้ตั้งใจหรือไม่และหากเป็นเช่นนั้นจะมีผลดีกับอะไร? ฉันสามารถใช้พฤติกรรมเก่า ๆ ได้หรือไม่โดยเลือกใช้ตัวเลือกปรับแต่งแทนการคัดลอกรหัสเก่ามาจากระบบอื่นหรือไม่? แก้ไข: ฟังก์ชั่นสำหรับการอ้างอิง _longopt() { local cur prev split=false _get_comp_words_by_ref -n = cur prev _split_longopt && split=true case "$prev" in --*[Dd][Ii][Rr]*) _filedir -d return 0 ;; --*[Ff][Ii][Ll][Ee]*|--*[Pp][Aa][Tt][Hh]*) _filedir return 0 ;; esac $split && return 0 …
29
bash