Автозаполнение vim: как запретить vim читать некоторые включаемые файлы?

10

Vim имеет удобную клавишу Ctrl-N, которая автоматически дополняет слово под курсором со словом в текущем файле или любом включенном файле. Если после того, как я включу библиотеку буста, эта функция станет абсолютно бесполезной, потому что для чтения целых включений буста требуются десятки секунд, и я действительно не хочу завершать что-либо, что определено в бусте. Итак, как я могу сказать vim игнорировать каталог / usr / include / boost при поиске включаемых файлов? О, как я могу установить опцию «включить», чтобы игнорировать любой #include <boost /.*>?


источник

Ответы:

16

Опция, которую вы ищете, является «полной» , но она не определяет гранулярность, которую вы запрашиваете. Все, что вы можете сделать, это указать, нужно ли сканировать включенные файлы. Чтобы отключить проверку всех включенных файлов, вы можете

set complete-=i

В противном случае установка 'include'игнорирования усиления может быть вашим лучшим вариантом.

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

Обратите внимание, что, как я уже упоминал в моем другом комментарии, вам не "следует указывать эту опцию, так как это символ комментария Vim. Вместо этого вам нужно бежать из пробелов.

jamessan
источник
1

Хорошо, я нашел ответ на вторую часть:

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

источник
На самом деле, вы просто отключили опцию включения. "является символом комментария Vim, поэтому вы по сути запустили 'set include ='.
jamessan