เติมข้อความอัตโนมัติของ vim: วิธีป้องกันไม่ให้ vim อ่านไฟล์บางไฟล์?


10

Vim มีปุ่ม Ctrl-N ที่มีประโยชน์ซึ่งจะเติมคำอัตโนมัติภายใต้เคอร์เซอร์ด้วยคำในไฟล์ปัจจุบันหรือไฟล์ใด ๆ ที่รวมอยู่ หากเมื่อฉันรวมไลบรารีการเพิ่มคุณสมบัตินี้จะไร้ประโยชน์อย่างแน่นอนเพราะต้องใช้เวลาหลายสิบวินาทีในการอ่านการเพิ่มทั้งหมดและฉันไม่ต้องการทำสิ่งใดที่กำหนดไว้ในการเพิ่ม ดังนั้นฉันจะบอกให้กลุ่มที่จะละเว้น / usr / include / boost directory เมื่อค้นหาไฟล์ include ได้อย่างไร โอ้ฉันจะตั้งค่าตัวเลือก 'รวม' เพื่อละเว้น #include <boost /.*> ได้อย่างไร

vim 

คำตอบ:


16

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

set complete-=i

มิฉะนั้นการตั้งค่า'include'ให้ละเว้นการเพิ่มอาจเป็นตัวเลือกที่ดีที่สุดของคุณ

set include=^\\s*#\\s*include\ \\(<boost/\\)\\@!

โปรดทราบว่าดังที่ฉันได้กล่าวถึงในความคิดเห็นอื่น ๆ ของคุณคุณไม่ควรใช้"เพื่อระบุตัวเลือกเช่นเดียวกับตัวละครที่เป็นความคิดเห็นของ Vim คุณต้องหลบหนีจากช่องว่างแทน


1

ตกลงฉันพบคำตอบในส่วนที่สอง:

set include="#include \\(<boost\\)\\@!"

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