มีวิธีรับ Vim ในโหมดคำสั่งเพื่อเติมคำจากไฟล์ปัจจุบันหรือไม่? บอกว่าฉันมีไฟล์นี้:
one
two
three
once
และฉันเข้าสู่โหมดบรรทัดคำสั่ง
:myruncommand o|
โดยที่|
ตำแหน่งของเคอร์เซอร์ ฉันจะทำให้ Vim สมบูรณ์one
หรือonce
เมื่อกด Tab ได้อย่างไร
มีวิธีรับ Vim ในโหมดคำสั่งเพื่อเติมคำจากไฟล์ปัจจุบันหรือไม่? บอกว่าฉันมีไฟล์นี้:
one
two
three
once
และฉันเข้าสู่โหมดบรรทัดคำสั่ง
:myruncommand o|
โดยที่|
ตำแหน่งของเคอร์เซอร์ ฉันจะทำให้ Vim สมบูรณ์one
หรือonce
เมื่อกด Tab ได้อย่างไร
คำตอบ:
มันเป็นไปไม่ได้โดยกำเนิด แต่มันต้องใช้เวลาประมาณหนึ่งนาทีเพื่อหาสคริปต์นี้และหนึ่งในvim.org
คำตอบของ jamesc มักจะสะดวกที่สุด แต่เมื่อคุณรู้ล่วงหน้าว่าคุณต้องการใช้การเติมข้อความอัตโนมัติสำหรับคำสั่งหรือสตริงการค้นหาหรือฟังก์ชั่นอื่น ๆ ที่มีอยู่ในบัฟเฟอร์นี่เป็นอีกวิธีในการเข้าถึงบัฟเฟอร์ที่เหมาะสม :
myruncommand o
โดยพื้นฐานแล้วq :ทำสิ่งเดียวกันกับ: Ctrl+ F: ให้คุณป้อนคำสั่งราวกับว่าคุณกำลังป้อนข้อความในบัฟเฟอร์ ในทำนองเดียวกันq /และ/ Ctrl+ Fทั้งสองอย่างให้คุณพิมพ์สตริงการค้นหาในบัฟเฟอร์
Ctrl+F
ดังนั้นคำตอบของคุณก็ช่วยฉันด้วย
แม้ว่าจะเป็นความจริงที่ว่าสิ่งนี้จะไม่สามารถสร้างขึ้นได้ด้วย 'แท็บ' แต่มีความเป็นไปได้ที่:
การป้อนคำสั่งที่คุณต้องการในโหมดบรรทัดคำสั่ง สำหรับตัวอย่างข้างต้นนี้คือ:
:myruncommand o
ตอนนี้กดCtrl-F
เพื่อเข้าสู่หน้าต่างคำสั่ง
A
ย้ายไปยังจุดสิ้นสุดของบรรทัดและเข้าสู่โหมดแทรกCtrl-N
/ Ctrl-P
เพื่อเปิดคำสำคัญให้สมบูรณ์และเลือกตัวเลือกที่คุณต้องการ - ในตัวอย่างนี้ทั้งคู่one
และonce
ควรพร้อมใช้งานเนื่องจากอยู่ในบัฟเฟอร์เปิดฉันได้เพิ่มคำตอบนี้เพราะการค้นหาคำว่า "vim complete word ในโหมดคำสั่ง" ทำให้ฉันมาที่นี่และดูเหมือนว่าจะเป็นวิธีแก้ปัญหาที่ใช้การได้แม้ว่าจะไม่ได้ใช้คีย์ 'แท็บ' ก็ตาม
สิ่งนี้ใช้ได้กับฉันใน Vim 7.4
Ctrl+F
จะสะดวกกว่าในหลาย ๆ กรณี superuser.com/a/1016058/219388
ความสมบูรณ์จะพร้อมใช้งานหากคุณเข้าสู่โหมดคำสั่ง มีประโยชน์มากในการแก้ไขหรือทำซ้ำคำสั่งที่ใช้ก่อนหน้านี้
กดq:ในโหมดปกติเพื่อเข้าสู่บานหน้าต่างประวัติคำสั่ง
ดูhttp://vim.wikia.com/wiki/Using_command-line_historyสำหรับรายละเอียดเพิ่มเติม
Ctrl-f
ประวัติบรรทัดคำสั่งจะเปิดขึ้นและหากคุณต้องการปิดหน้าต่างนั้นคุณสามารถพิมพ์Ctrl-w q