<p>How do I tell the Vim editor about my include files path so that it can auto complete the function names when I press <kbd>CTRL</kbd>+<kbd>N</kbd>?</p>

<p>For example, I have a C program like below:</p>

<pre><code>#include&lt;stdio.h&gt;
int main()
{
    sca // here I press control+N, it does not complete to scanf
}
</code></pre>

In your
```
.vimrc
```
, add the paths to your
```
.vimrc
```
:
```
```
set path+=/usr/include/**
set path+=/my_include_dir/include
set path+=/my_include_dir/srclib/apr/**
set path+=/my_other_include_dir/srclib/apr-util/**

** means all sub-directories.
*  means all contained directories
.  means all files in the directory of the found file
+= means prepend to existing path (iirc)
```
```
You can check the paths as well by opening your file and then entering
```
```
:checkpath
```
```
This will give you a list of all included files that are missing. N.B. It doesn't seem to handle preprocessor directives, so you will get some false positives. Entering
```
```
:checkpath!
```
```
Will give a complete list of found and missing include files.