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:

  • man vim
  • /usr/share/vim/current/doc

Further reading

Useful Links