Vim (Vi IMproved) is a highly configurable text editor built to make creating and changing any kind of text very efficient. It is included as "vi" with most UNIX systems, which also includes Apple's macOS. Vim is a major improvement over its predecessor vi, which was developed over 40 years ago, and it is still being used.

Vim is rock stable and boasts many features including:

  • persistent, multi-level undo tree
  • extensive plugin system
  • support for hundreds of programming languages and file formats
  • powerful search and replace
  • integrates with many tools
  • built-in macro support for automation text manipulation
  • usable on systems that lack support for GUI based text editors

One of the main differences that both Vim, and its predecessor vi, have over other editors like nano, is that it is a modal editor, which means that they have several modes of operation. For example, the editor starts in Navigation Mode, which allows you to quickly move around the document (or, more accurately blazingly fast). In this mode, you can enter commands to interact with your document, like using :i to enter insert mode, :q to quit, /<text> to search text, among others.

The modal part of Vim is what makes it really powerful. You can try out the most powerful features through an interactive tutorial by visiting OpenVim

If you have vim installed on your system, you can also run the vimtutor command to start a tutorial.

More information

Contributing to the Guide

This open source guide is curated by thousands of contributors. You can help by researching, writing and updating these articles. It is an easy and fun way to get started with contributing to open source.