vim (Vi IMproved) is a text editor supporting different editing modes.
vim (Vi IMproved) is a modular text editor that is upwards compatible to vi.
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
Further, vim provides the following features:
- Syntax highlighting
- Autocorrection
- Tabs and Splitscreens
- undo/redo operations
- Plugin support over own scripts
- Archive editing (
tar,gz,zip) - History
- Wrapping
- Macros
- and more...
On modern Linux systems, vi is generally linked to vim.
vimtutor gets you started with vim in a short time.
vim also provides a great help section, start the editor and type :help.
More ressources:
- vim.org
man vim/usr/share/vim/current/doc
Further reading
- 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?