Vim stands for Vi IMproved. It used to be Vi IMitation, but there are so many improvements that a name change was appropriate. Vim is a text editor which includes almost all the commands from the Unix program ``Vi'' and a lot of new ones. It is very useful for editing programs and other 7-bit or 8-bit ASCII text. All commands can be given with the keyboard. This has the advantage that you can keep your fingers on the keyboard and your eyes on the screen. For those who want it, there is mouse support and a GUI version with scrollbars and menus.
Vim is an editor, not a word processor. A word processor is used mainly to do layout of text. This means positioning it, changing the way it appears on output. More often than not, the final document is meant to be printed or typeset or what have you, in order to present it in a pleasing manner to others. Examples of word processors are Microsoft Word, WordPerfect, FrameMaker, and AmiPro.
An editor is simply for entering text. Any typesetting or laying out of the document is secondary. With an editor, one's main concern is entering text, not making the text look good. Examples of editors other than Vim and Vi are Emacs, Crisp, Brief, and xedit.
Most of Vim was written by Bram Moolenar, with contributions from too many people to mention here. Try ``:h credits'' for a complete list.
Vim is based on Stevie, worked on by Tim Thompson, Tony Andrews and G.R. (Fred) Walter.
Very. A special mode (``:set compatible'') makes Vim behave almost exactly like Vi.
Here is a short summary. For more information, do ``:h diff''.
Multi-level undo Allows you to set the number of times you can undo your changes in a file buffer. You can also redo an undone change. Multiple windows and buffers Each file can be displayed in its own window. You can move easily from one window to another. Each file opened during a Vim session also has an associated buffer and you can easily jump from one to the other. Repeat a series of commands. Vim has a facility which allows you to record a sequence of typed characters and repeat them any number of times. Flexible insert mode. Vim allows you to use the arrow keys while in insert mode to move around in the file. No more hitting Esc , moving around, then hitting `i' or `a'. Visual mode. You can highlight sections of text and execute operations on this section of text only. Block operators Allow selection and highlighting of rectangular blocks of text in order do execute specific operations on them. Online help system. You can easily find help on any aspect of using Vim. Help is displayed in its own window. Command-line editing and history. History allows you to use the arrow keys to repeat or search for a command that has already been typed. Allows you to match the beginning of a command with the beginning of another similar command in the history buffer. You can also edit a command to correct typos or change a few values. Command line completion. Using the Tab key, you can complete commands, options, filenames, etc. as needed. Horizontal scrolling. Long lines can be scrolled horizontally (with or without the GUI). Text formatting. With two keystrokes, you can format large sections of text, without the use of external programs. Edit-compile-edit speedup. You can compile within Vim and automatically jump to the location of errors in the source code. Improved indenting for C programs Vim gives you more control over how your C programs appear on screen. Searching for words in include files Vim allows you to search for a match of the word under the cursor in the current and included files. Word completion in Insert mode Vim can complete words while you are typing, by matching the current word with other similar words in the file. Automatic commands Commands automatically executed when reading or writing a file, jumping to another buffer, etc. Viminfo Allows storing of the command line history, marks and registers in a file to be read on startup. Mouse support The mouse is supported in an xterm and for MS-DOS. It can be used to position the cursor, select the visual area, paste a register, etc. Graphical User Interface (GUI) (Motif and Athena) You can use the GUI and have access to a menu bar, scrollbar, etc. You can also define your own menus as well as do many operations with the mouse instead of the keyboard.
Here is a list of some of the improvements of Vim 4 over Vim 3. For a complete list, do ``:h vim_40''.
* New on-line help system * Command-line editing improved * Improved indenting for C programs * Searching for words in include files * Word completion in Insert mode * Automatic commands * Text objects * New Options * Support for editing one-line paragraphs * Usage of key names * Viminfo * Compilation improvements * Tag support improved * Improved (error) messages * Swap file * Mouse support * Graphical User Interface (GUI) * Support for Windows 95 and NT * Vi compatibility improvements * And more! (As if all that preceded wasn't reason enough to upgrade)
Vim 5.0 is not officially out yet, but it will have syntax highlighting! And a command language! And much, much more!
Vim is Charityware. There are no restrictions on using or copying Vim, but the author encourages you to make a donation to charity. A document explaining how to do so is included in the distribution. You are allowed to include Vim on a CD-ROM but you should send the author a copy. Please try ``:h copying''.