автозаповнення vim: як не допустити, щоб vim прочитав деякі файли, що включають?


10

Vim має зручний Ctrl-N ключ, який автоматично доповнює слово під курсором зі словом у поточному файлі чи будь-яким включеним файлом. Якщо я включаю бібліотеку підвищення, ця функція стає абсолютно марною, оскільки для читання цілого прискореного включення потрібні десятки секунд, і я дійсно не хочу завершувати все, що визначено у програмі підвищення. Тож як я можу сказати vim ігнорувати / usr / include / boost каталог при пошуку включених файлів? О, як я можу встановити параметр "включити", щоб ігнорувати будь-який #include <boost /.*>?

vim 

Відповіді:


16

Опція, яку ви шукаєте, "завершена" , але вона не визначає деталізацію, яку ви вимагаєте. Все, що ви можете зробити, це вказати, сканувати чи ні сканувати включені файли. Щоб вимкнути сканування всіх включених файлів, ви можете

set complete-=i

В іншому випадку налаштування 'include'ігнорувати прискорення може бути найкращим варіантом.

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

Зауважте, що, як я вже згадував у своєму іншому коментарі, вам не "слід вказувати параметр, оскільки це символ коментаря Vim. Натомість вам потрібно уникнути просторів.


1

Гаразд, я знайшов відповідь на другу частину:

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

Насправді ви просто скасували опцію включення. "є персонажем коментаря Vim, тому ви по суті побігли" set include = ".
jamessan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.