|quickfix|
The |:make| command can be used to run the compilation and jump to the
first error. A file with compiler error messages is interpreted. Vim
jumps to the first error.
Each line in the error file is scanned for the name of a file, line
number and error message. The 'errorformat' option can be set to a
list of scanf-like strings to handle output from many compilers.
The |:cn| command can be used to jump to the next error.
|:cl| lists all the error messages. Other commands are available.
The 'makeef' option has the name of the file with error messages.
The 'makeprg' option contains the name of the program to be executed
with the |:make| command.
The 'shellpipe' option contains the string to be used to put the
output of the compiler into the errorfile.
Finding matches in files. |:vimgrep|
Vim can search for a pattern in multiple files. This uses the
advanced Vim regexp pattern, works on all systems and also works to
search in compressed files.
Improved indenting for programs. |'cindent'|
When the 'cindent' option is on the indent of each line is
automatically adjusted. C syntax is mostly recognized. The indent
for various styles can be set with 'cinoptions'. The keys to trigger
indenting can be set with 'cinkeys'.
Comments can be automatically formatted. The 'comments' option can be
set to the characters that start and end a comment. This works best
for C code, but also works for e-mail (">" at start of the line) and
other types of text. The |=| operator can be used to re-indent
lines.
For many other languages an indent plugin is present to support
automatic indenting. |30.3|
Searching for words in included files. |include-search|
The |[i| command can be used to search for a match of the word under
the cursor in the current and included files. The 'include' option
can be set to a pattern that describes a command to include a file
(the default is for C programs).
The |[I| command lists all matches, the |[_CTRL-I| command jumps to
a match.
The |[d|, |[D| and |[_CTRL-D| commands do the same, but only for
lines where the pattern given with the 'define' option matches.
Automatic commands. |autocommand|
Commands can be automatically executed when reading a file, writing a
file, jumping to another buffer, etc., depending on the file name.
This is useful to set options and mappings for C programs,
documentation, plain text, e-mail, etc.