ฉันสามารถเพิ่มชุดคำลงในคำศัพท์เติมข้อความอัตโนมัติของ Vim ได้หรือไม่?


14

ในกลุ่มฉันตระหนักถึงการใช้ CTRL-n และ CTRL-p เพื่อเติมคำอัตโนมัติที่พบในเอกสาร นี่เป็นสิ่งที่ยอดเยี่ยมสำหรับการส่งเสริมการใช้วิธีการอธิบายและชื่อตัวแปร

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

มีวิธีการเพิ่มคำศัพท์ให้กับคำศัพท์เติมข้อความอัตโนมัติของ Vim ที่สามารถเข้าถึงได้ในทุกเซสชันของ Vim หรือไม่?

คำตอบ:


11

คุณสามารถใช้ตัวย่อใน~/.vimrcไฟล์ของคุณเพียงไม่กี่คำ:

: abbr supe superuser
: การเติมข้อความอัตโนมัติ abbr
: คำถาม abbr que

เหล่านี้จะอัตโนมัติสมบูรณ์หลังจากที่กดหรือSpace Enterดังนั้นหากคุณพิมพ์queแล้วกดSpaceหรือEnterมันจะจบคำว่า "คำถาม" สำหรับคุณ

หากคุณกำลังเพิ่มจำนวนมากและต้องการอินเทอร์เฟซนี้:

ข้อความแสดงแทน

คุณสามารถใช้พจนานุกรม เพียงตั้งค่าไฟล์ด้วยคำในแต่ละบรรทัดจากนั้นใน. vimrc ของคุณให้เพิ่มบรรทัดดังนี้:

set dictionary+=/home/john/dict.txt

แทนที่เส้นทางด้วยตำแหน่งไฟล์พจนานุกรมของคุณ จากนั้นคุณสามารถใช้Ctrl+ xและCtrl+ kเพื่อแสดงคำแนะนำ Ctrl+ nและCtrl+ pเพื่อเลือกตัวเลือกถัดไป / ก่อนหน้าจากหลายตัวเลือก


1
! ที่ยอดเยี่ยม ฉันจะใช้พจนานุกรม!
madh

สิ่งนี้ได้ผล! ฉันไม่ได้รับเมนูที่ดูดีว่า ฉันใช้ VIM 6.3.82 ซึ่งไม่ใช่เวอร์ชั่นล่าสุด
madh

อ่า ... กำลังอัพเดตความช่วยเหลือเหรอ คุณต้องกดลำดับ Ctrl-x, Ctrl-k เพื่อเปิดเมนู ดีใจที่ได้ช่วย :) :)
John T

นี่เป็นวิธีที่เหมาะสม
ที่

เพิ่งตรวจสอบว่าใช้งานได้ใน VIM 7.2 ขอบคุณอีกครั้ง!
madh

3

"แหล่งที่มา" ของการเติมข้อความอัตโนมัติปกติ (อันที่คุณได้รับจากCtrl+ N) มาจากcompleteตัวเลือก (ดู:h 'complete') ค่าเริ่มต้นคือ

complete=.,w,b,u,t

ซึ่งหมายความว่า

  1. . สแกนบัฟเฟอร์ปัจจุบัน
  2. w สแกนบัฟเฟอร์จากหน้าต่างอื่น
  3. b สแกนบัฟเฟอร์ที่โหลดอื่น ๆ ที่อยู่ในรายการบัฟเฟอร์
  4. u สแกนบัฟเฟอร์ที่ไม่โหลดที่อยู่ในรายการบัฟเฟอร์
  5. t แท็กเสร็จสมบูรณ์

คุณสามารถเพิ่มพจนานุกรมของคุณเองด้วย

set complete+=k~/.vim/keywords.txt

~/.vim/keywords.txtและเพิ่มคำหลักต่อหนึ่งบรรทัดใน วิธีนี้คุณสามารถเข้าถึงความสำเร็จโดยตรงด้วยCtrl+ N(ไม่จำเป็นต้องอธิบายให้ชัดเจนว่าการเรียกพจนานุกรมเสร็จสมบูรณ์ด้วยCtrl+ X, Ctrl+ K) ฉันพบว่าสิ่งนี้มีประโยชน์เป็นพิเศษสำหรับการทำโค้ดให้สมบูรณ์ซึ่งฉันมีชื่อฟังก์ชั่นที่ใช้ร่วมกันทั้งหมดkeywords.txt

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