เมื่อฉันเปิดไฟล์ใหม่ใน Vim และฉันใช้การเติมเต็มของแท็บมันจะทำให้ชื่อไฟล์ทั้งหมดเสร็จสมบูรณ์แทนที่จะทำการจับคู่บางส่วนอย่าง Bash มีตัวเลือกให้แท็บชื่อไฟล์นี้เสร็จสมบูรณ์เช่น Bash หรือไม่
เมื่อฉันเปิดไฟล์ใหม่ใน Vim และฉันใช้การเติมเต็มของแท็บมันจะทำให้ชื่อไฟล์ทั้งหมดเสร็จสมบูรณ์แทนที่จะทำการจับคู่บางส่วนอย่าง Bash มีตัวเลือกให้แท็บชื่อไฟล์นี้เสร็จสมบูรณ์เช่น Bash หรือไม่
คำตอบ:
ฉันใช้เป็นการส่วนตัว
set wildmode=longest,list,full
set wildmenu
เมื่อคุณพิมพ์การเข้าชมแท็บแรกแท็บนั้นจะเสร็จสมบูรณ์มากที่สุด การเข้าชมแท็บที่สองจะให้รายการ แท็บที่สามและต่อมาจะวนไปตามตัวเลือกการเติมเพื่อให้คุณสามารถเติมไฟล์โดยไม่ต้องใช้คีย์เพิ่มเติม
ทุบตีจะเป็นเพียงแค่
set wildmode=longest,list
แต่ตัวเต็มนั้นมีประโยชน์มาก
set wildmode=longest,5full,list
สิ่งที่ชอบ ด้วยผลลัพธ์มากมายเต็มไม่มีประโยชน์ แต่มีประโยชน์น้อยมาก มันจะสมบูรณ์แบบด้วยบางสิ่งบางอย่างเช่น "แสดงเต็มรูปแบบเฉพาะเมื่อเสร็จสมบูรณ์พอดีกับหนึ่งบรรทัดหน้าจอ"
พฤติกรรมที่ใกล้เคียงกับความสำเร็จของ Bash ควรจะเป็น
set wildmode=longest:full,full
wildmenu
ด้วยตัวอักษรไม่กี่พิมพ์แท็บกดครั้งจะให้ทุกแมตช์ในการใช้ได้ สิ่งนี้แตกต่างจากคำตอบของMichaelที่เปิดหน้าต่างคล้าย quickfix ใต้บรรทัดคำสั่ง
จากนั้นคุณสามารถพิมพ์ตัวอักษรที่เหลือต่อไปหรือกดที่แท็บอีกครั้งเพื่อทำการป้อนอัตโนมัติด้วยการจับคู่แรกและวงกลมรอบ ๆ
หากคุณไม่ต้องการตั้งค่าไวลด์แมนคุณสามารถกดCtrl+ Lเมื่อคุณต้องการเปิดไฟล์ได้ตลอดเวลา Ctrl+ Lจะเติมชื่อไฟล์ให้สมบูรณ์เช่น Bash complete
<Tab>
เติมสตริงปัจจุบันให้สมบูรณ์เท่าที่จะเป็นไปได้อย่างไม่น่าสงสัย (เช่นCTRL-L
ใน Vim) และ<Tab><Tab>
แสดงรายการของการแข่งขันที่เป็นไปได้ (เช่นCTRL-D
ใน Vim)
นอกเหนือจากปัญหา wildmode / wildmenu, กลุ่มยังมีตัวเลือกที่จะแสดงความสำเร็จที่เป็นไปได้ทั้งหมดโดยใช้+Ctrl Dสิ่งนี้อาจเป็นประโยชน์สำหรับผู้ใช้บางคนที่พบคำถามนี้เมื่อค้นหาตัวเลือกการเติมข้อความอัตโนมัติที่แตกต่างกันใน Vim อย่างที่ฉันทำ
ฉันสมมติว่าคุณกำลังใช้การเติมข้อความอัตโนมัติใน Vim ผ่านCtrl+ Nเพื่อค้นหาบัฟเฟอร์ปัจจุบัน เมื่อคุณใช้คำสั่งนี้คุณจะได้รับรายการวิธีแก้ไข เพียงทำซ้ำคำสั่งเพื่อไปยังรายการถัดไปในรายการ เช่นเดียวกับคำสั่งเติมข้อความอัตโนมัติทั้งหมด ในขณะที่พวกเขาเติมคำทั้งหมดคุณสามารถดำเนินการต่อเพื่อดูรายการจนกว่าคุณจะมาถึงคนที่คุณต้องการใช้
Ctrlนี้อาจจะเป็นคำสั่งที่มีประโยชน์มากขึ้น: P+ ความแตกต่างเพียงอย่างเดียวคือCtrl+ Pค้นหาย้อนหลังในบัฟเฟอร์ขณะที่Ctrl+ Nค้นหาไปข้างหน้า ... ตามจริงแล้วทั้งคู่จะให้รายการที่มีองค์ประกอบเดียวกันและอาจปรากฏในลำดับที่แตกต่างกัน
:set wildmenu
ลองใช้ นอกเหนือจากนั้นฉันไม่แน่ใจว่าคุณกำลังพยายามอะไรอยู่
โอ้ใช่และอาจลองลิงค์นี้: ลิงค์