Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Vim has handy Ctrl-N key that autocompletes word under the cursor with word in current file or any included file. If Once I include boost library, this feature becomes absolutely useless because it takes dozens of seconds to read whole boost includes and I really do not want to complete anything which is defined in boost anyway. So how can I tell vim to ignore /usr/include/boost directory when looking for include files? Oh how I can set 'include' option to ignore any #include <boost/.*> ?

share|improve this question

The option you're looking for is 'complete', but it doesn't define the granularity you're asking for. All you can do is specify whether or not to scan included files. To disable scanning of all included files, you can

set complete-=i

Otherwise, setting 'include' to ignore boost may be your best option.

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

Note that, as I mentioned in my other comment, you shouldn't use " to specify the option as that is Vim's comment character. Instead, you need to escape the spaces.

share|improve this answer

Ok, I found answer to second part:

set include="#include \\(<boost\\)\\@!"
share|improve this answer
Actually, you've just unset the include option. " is Vim's comment character, so you essentially ran 'set include='. – jamessan Dec 2 '09 at 17:58

You must log in to answer this question.