The first version was released in November 1991, for the Amiga platform. A year later came the first version for UNIX. Its author, Bram Moolenar, was inspired by VI editor, very popular among the UNIX followers. Vim inherits the features of VI and adds new ones, being a 99% compatible with its predecessor when it starts in compatible mode.
Its development model under a GPL compatible license and the new built-in features made VIM gain a lot of followers very quickly becoming one of the most popular editors. Currently the most GNU/Linux distributions incorporate it as the text editor by default.
Basic modes
- Normal. Using key combinations you can perform actions such as: copy and delete words, groups of words, lines, go to start, at the end of the file, etc. It is the default mode when you start the editor
- Insert. Allows you to edit the file on which we are working
- Command-line, Cmdline. Allows to execute complex commands such as: searches by key words, searches using regular expressions, read an external file, open an external file, etc.
- Visual. Allows you to select a block of text in a simple and flexible way and execute operations such as: delete, copy, change to upper case or to lower case as applicable, space to the right, to the left, etc.
- Select. Similar to selection mode implemented by OpenOffice/LibreOffice by typing a printable character delete the selection and starts the insert mode
- Ex. Similar to the Cmdline mode, but after running a command mode remains
Change from one mode to another
From / to |
Normal |
Insert |
Cmdline |
Visual |
Select |
Ex |
Normal |
|
i, Shift i |
:, /, ?, ! |
v, Shift v, Ctrl v |
gh, g Shift h, g Ctrl h |
Shift q |
Insert |
Esc |
|
— |
— |
— |
— |
Cmdline |
Enter, Esc, Ctrl c |
:start |
|
— |
— |
— |
Visual |
Esc, v |
c, Shift c |
: |
|
Ctrl g |
— |
Select |
* |
** |
— |
Ctrl o, Ctrl g |
|
— |
Ex |
:vi |
— |
— |
— |
— |
|
* You can change from Select selection to Normal mode pressing one of the buttons ← → ↑ ↓
** You can enter in insert mode holding any printable character
Relevant characteristics
- Highlighting of syntax for more than 200 programming languages (Java, Perl, PHP, Python, Bash, etc.)
- Integration with a large number of compilers, interpreters and debuggers (GCC, MANX AZTEC C, TEX COMPILER, other)
- Autocomplete
- Search by key words
- Allows to execute operations (searches, substitutions of words) based on regular expressions
- Undo and redo
- Command completion (similar to bash)
- Horizontal, vertical, or multiple windows which allow you to edit various file at the same time
- Flexible architecture that allows the integration of additional functionality through scripts developed by contributors
- Online documentation and integrated to the editor
Vim also has a user interface (gVim), which may be more friendly for beginners, however veterans administrators prefer use it in text mode
The latest stable version is the 7.4.x Also the binary is available for the following platforms: UNIX, MS-DOS / MS-Windows, Macintosh, Amiga, OS/2, Cygwin, other.
Further reading
Schulz, Kim. Hacking Vim
http://en.wikipedia.org/wiki/Vim