Tự động hoàn tất của vim: làm thế nào để ngăn vim đọc một số tệp bao gồm?


10

Vim có phím Ctrl-N tiện dụng tự động hoàn thành từ dưới con trỏ với từ trong tệp hiện tại hoặc bất kỳ tệp nào được bao gồm. Nếu Một khi tôi bao gồm thư viện boost, tính năng này trở nên hoàn toàn vô dụng vì phải mất hàng chục giây để đọc toàn bộ boost bao gồm và tôi thực sự không muốn hoàn thành bất cứ điều gì được xác định trong boost. Vậy làm thế nào tôi có thể bảo vim bỏ qua thư mục / usr / include / boost khi tìm tệp bao gồm? Ồ, làm thế nào tôi có thể đặt tùy chọn 'bao gồm' để bỏ qua bất kỳ #include <boost /.*> nào?

vim 

Câu trả lời:


16

Tùy chọn bạn đang tìm kiếm là 'hoàn thành' , nhưng nó không xác định mức độ chi tiết mà bạn yêu cầu. Tất cả những gì bạn có thể làm là chỉ định có quét các tệp được bao gồm hay không. Để tắt quét tất cả các tệp được bao gồm, bạn có thể

set complete-=i

Nếu không, cài đặt 'include'để bỏ qua boost có thể là lựa chọn tốt nhất của bạn.

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

Lưu ý rằng, như tôi đã đề cập trong bình luận khác của tôi, bạn không nên sử dụng "để chỉ định tùy chọn vì đó là ký tự nhận xét của Vim. Thay vào đó, bạn cần phải thoát khỏi không gian.


1

Ok, tôi tìm thấy câu trả lời cho phần thứ hai:

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

Trên thực tế, bạn chỉ cần bỏ tùy chọn bao gồm. "Là nhân vật nhận xét của Vim, vì vậy về cơ bản bạn đã chạy 'set include ='.
jamessan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.