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?