vim's autocomplete: bagaimana mencegah vim untuk membaca beberapa file include?

10

Vim memiliki tombol Ctrl-N yang berguna yang secara otomatis melengkapi kata di bawah kursor dengan kata dalam file saat ini atau file yang disertakan. Jika Setelah saya sertakan boost library, fitur ini menjadi benar-benar tidak berguna karena butuh puluhan detik untuk membaca seluruh boost termasuk dan saya benar-benar tidak ingin menyelesaikan apa pun yang didefinisikan dalam boost pula. Jadi bagaimana saya bisa memberitahu vim untuk mengabaikan direktori / usr / include / boost ketika mencari file yang disertakan? Oh, bagaimana saya bisa mengatur opsi 'include' untuk mengabaikan #include <boost /.*>?


sumber

Jawaban:

16

Opsi yang Anda cari adalah 'lengkap' , tetapi tidak menentukan rincian yang Anda minta. Yang dapat Anda lakukan adalah menentukan apakah akan memindai file yang disertakan atau tidak. Untuk menonaktifkan pemindaian semua file yang disertakan, Anda dapat

set complete-=i

Jika tidak, pengaturan 'include'untuk mengabaikan peningkatan mungkin merupakan pilihan terbaik Anda.

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

Perhatikan bahwa, seperti yang saya sebutkan di komentar saya yang lain, Anda tidak boleh menggunakan "untuk menentukan opsi karena itu adalah karakter komentar Vim. Sebaliknya, Anda perlu melarikan diri dari ruang.

jamessan
sumber
1

Oke, saya menemukan jawaban untuk bagian kedua:

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

sumber
Sebenarnya, Anda baru saja membatalkan pilihan menyertakan. "Adalah Vim ini komentar karakter, sehingga Anda pada dasarnya berlari 'set termasuk ='.
jamessan