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. This also makes it possible
to edit compressed files.
Scripts and Expressions. |expression|
Commands have been added to form up a powerful script language.
|:if| Conditional execution, which can be used for example
to set options depending on the value of $TERM.
|:while| Repeat a number of commands.
|:for| Loop over a list.
|:echo| Print the result of an expression.
|:let| Assign a value to an internal variable, option, etc.
Variable types are Number, String, List and Dictionary.
|:execute| Execute a command formed by an expression.
|:try| Catch exceptions.
etc., etc. See |eval|.
Debugging and profiling are supported. |debug-scripts| |profile|
If this is not enough, an interface is provided to |Python|.
Viminfo.
The command-line history, marks and registers can be stored in a file
that is read on startup. This can be used to repeat a search command
or command-line command after exiting and restarting Vim. It is also
possible to jump right back to where the last edit stopped with |'0|.
The 'viminfo' option can be set to select which items to store in the
.viminfo file. This is off by default.
Mouse support. |mouse-using|
The mouse is supported in the GUI version, in an xterm for Unix, for
BSDs with sysmouse, for Linux with gpm, and for Win32. It can be used
to position the cursor, select the visual area, paste a register, etc.
Usage of key names. |<>| |key-notation|
Special keys now all have a name like <Up>, <End>, etc.
This name can be used in mappings, to make it easy to edit them.
Editing binary files. |edit-binary|
Vim can edit binary files. You can change a few characters in an
executable file, without corrupting it. Vim doesn't remove NUL
characters (they are represented as <NL> internally).
|-b| command-line argument to start editing a binary file
|'binary'| Option set by |-b|. Prevents adding an <EOL> for the
last line in the file.
Multi-language support. |multi-lang|
Files in double-byte or multibyte encodings can be edited. There is
UTF-8 support to be able to edit various languages at the same time,
without switching fonts. |UTF-8|
Messages and menus are available in different languages.
Move cursor beyond lines.
When the 'virtualedit' option is set the cursor can move all over the
screen, also where there is no text. This is useful to edit tables
and figures easily.
vim:tw=78:ts=8:noet:ft=help:norl: