vim (Vi IMproved) is a modular text editor that is upwards compatible to
The speciality lies within the editing modes which provide different tasks. Each mode can be reached by one or more specified keys.
- Normal (ESC): copy, (re)move, replace words and lines, text formatting
- Insert (i,a,o): insert or remove text
- Visual (v): visually highlight a text area
- Select (gh): modify selected text area
- Command-line (:): complex commands, search(-replace), filter, (un)set options
- Ex (Q): like command-line mode but stays in Ex mode after entering a command
vim provides the following features:
- Syntax highlighting
- Tabs and Splitscreens
- undo/redo operations
- Plugin support over own scripts
- Archive editing (
- and more...
On modern Linux systems,
vi is generally linked to
vimtutor gets you started with
vim in a short time.
vim also provides a great help section, start the editor and type
- vim vs. emacs... and no, this is not a flame war
- Buffers or tabs in vim? What are advantages/disadvantages of each approach?
- Becoming root from inside Vim
- How can I edit multiple files in VIM?
- How to copy text from vim to an external program?
- What are the best general purpose programming tools to complement Vim?