Vim

Vim (Vi improved) is a text editor based on vi. It can be used from the command-line or as a standalone application with a graphical user interface.

Command-line
If X Window System support is not needed, install :

GUI
To install Vim with both the ncurses-based interface ) and the graphical interface (for the X Window System - ), install :

There is also an experimental Qt interface called which can also be emerged.

Extensions
The category app-vim provides a lot of additional syntax definitions, plugins and other Vim related stuff.

Use emerge or eix to get an overview of available packages in the app-vim category:

Configuration
Vim can be configured on per-user basis or via global defaults.

Global
The global configuration file for Vim can be found at

User
The each user's configuration file should be located at (the base of the user's home directory).

Getting started
Vim has a built-in tutorial which should require around 30 min to go through. Start it using the vimtutor command:

Using Vim like ex or ed from the command line
It is possible to use Vim for one-liners — commands that can be used in scripts or on the command line to make changes in an unattended manner.

For instance, the following command adds  to the beginning of each line in the  file:

What happens is that Vim interprets the passed on commands (through the  option). The first command is Vim's substitution command (which is very similar to sed's), the second one is Vim's instruction to save and exit the editor.

Change file encoding
To change the file encoding of a file to UTF-8, use the following command (in Vim command mode):

As shown in the previous trick, it is possible to do this from the command line as well:

External resources

 * Vim Documentation Includes Manuals (aka ":help" and Free VIM OPL Book), FAQS, HOWTO's, Tutorials, in HTML, PDF, PS formats.
 * VIM Scripts/Plugins
 * Learning the vi and Vim Editors, 7th Edition O'Reilly  Print ISBN: 978-0-596-52983-3, Ebook ISBN: 978-0-596-15935-1