โหมดคำสั่งเป็นกลุ่มคำที่สมบูรณ์


12

มีวิธีรับ Vim ในโหมดคำสั่งเพื่อเติมคำจากไฟล์ปัจจุบันหรือไม่? บอกว่าฉันมีไฟล์นี้:

one
two
three
once

และฉันเข้าสู่โหมดบรรทัดคำสั่ง

:myruncommand o|

โดยที่|ตำแหน่งของเคอร์เซอร์ ฉันจะทำให้ Vim สมบูรณ์oneหรือonceเมื่อกด Tab ได้อย่างไร



อ้างอิงจากคำอธิบายสคริปต์: "ในโหมด ':' ความสมบูรณ์จะมีให้หลังจาก '/' เท่านั้น ไม่ใช่สิ่งที่ฉันต้องการจริงๆ
Nickolay Kolev

คำตอบ:



5

คำตอบของ jamesc มักจะสะดวกที่สุด แต่เมื่อคุณรู้ล่วงหน้าว่าคุณต้องการใช้การเติมข้อความอัตโนมัติสำหรับคำสั่งหรือสตริงการค้นหาหรือฟังก์ชั่นอื่น ๆ ที่มีอยู่ในบัฟเฟอร์นี่เป็นอีกวิธีในการเข้าถึงบัฟเฟอร์ที่เหมาะสม :

  • พิมพ์q :เพื่อเปิดบัฟเฟอร์คำสั่ง
  • พิมพ์aเพื่อเริ่มป้อนคำสั่งใหม่: myruncommand o
  • ใช้Ctrl+ N/ Ctrl+ Pสำหรับคำหลักให้สมบูรณ์เช่นเดียวกับคำตอบของ jamesc

โดยพื้นฐานแล้วq :ทำสิ่งเดียวกันกับ: Ctrl+ F: ให้คุณป้อนคำสั่งราวกับว่าคุณกำลังป้อนข้อความในบัฟเฟอร์ ในทำนองเดียวกันq /และ/ Ctrl+ Fทั้งสองอย่างให้คุณพิมพ์สตริงการค้นหาในบัฟเฟอร์


คำตอบที่ดี บัฟเฟอร์คำสั่งเป็นสิ่งที่ฉันต้องการที่จะใช้
jamesc

@jamesc: ฉันดีใจที่มีประโยชน์สำหรับคุณ ฉันไม่รู้เกี่ยวกับCtrl+Fดังนั้นคำตอบของคุณก็ช่วยฉันด้วย
Michael Scheper

3

แม้ว่าจะเป็นความจริงที่ว่าสิ่งนี้จะไม่สามารถสร้างขึ้นได้ด้วย 'แท็บ' แต่มีความเป็นไปได้ที่:

  • การป้อนคำสั่งที่คุณต้องการในโหมดบรรทัดคำสั่ง สำหรับตัวอย่างข้างต้นนี้คือ:

    :myruncommand o
    
  • ตอนนี้กดCtrl-Fเพื่อเข้าสู่หน้าต่างคำสั่ง

  • ใช้การAย้ายไปยังจุดสิ้นสุดของบรรทัดและเข้าสู่โหมดแทรก
  • ใช้Ctrl-N/ Ctrl-Pเพื่อเปิดคำสำคัญให้สมบูรณ์และเลือกตัวเลือกที่คุณต้องการ - ในตัวอย่างนี้ทั้งคู่oneและonceควรพร้อมใช้งานเนื่องจากอยู่ในบัฟเฟอร์เปิด

ฉันได้เพิ่มคำตอบนี้เพราะการค้นหาคำว่า "vim complete word ในโหมดคำสั่ง" ทำให้ฉันมาที่นี่และดูเหมือนว่าจะเป็นวิธีแก้ปัญหาที่ใช้การได้แม้ว่าจะไม่ได้ใช้คีย์ 'แท็บ' ก็ตาม

สิ่งนี้ใช้ได้กับฉันใน Vim 7.4


ฉันควรเดาได้ว่ามีวิธีที่ง่ายในการไปที่บัฟเฟอร์คำสั่ง / ค้นหาในขณะที่ป้อนคำสั่งหรือสตริงการค้นหาแล้ว! ขอบคุณ! ฉันได้เพิ่มคำตอบตามของคุณสำหรับวิธีที่ฉันรู้แล้ว แต่ไม่ต้องสงสัยเลยว่าCtrl+Fจะสะดวกกว่าในหลาย ๆ กรณี superuser.com/a/1016058/219388
Michael Scheper

1

ความสมบูรณ์จะพร้อมใช้งานหากคุณเข้าสู่โหมดคำสั่ง มีประโยชน์มากในการแก้ไขหรือทำซ้ำคำสั่งที่ใช้ก่อนหน้านี้

กดq:ในโหมดปกติเพื่อเข้าสู่บานหน้าต่างประวัติคำสั่ง

ดูhttp://vim.wikia.com/wiki/Using_command-line_historyสำหรับรายละเอียดเพิ่มเติม


1
ในโหมดบรรทัดคำสั่งหากคุณพิมพ์Ctrl-fประวัติบรรทัดคำสั่งจะเปิดขึ้นและหากคุณต้องการปิดหน้าต่างนั้นคุณสามารถพิมพ์Ctrl-w q
SergioAraujo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.