Vim is a screen-based text editor that is free, open-source, and based on the vi editor that was originally created for the Unix operating system. However, it can be run on other systems such as Windows, Mac, Linux, or Android.

Many plugins are available to add to the many features built into Vim. Developers will find it useful for working on source code or scripting files. Vim is ideal for editing configuration files when working from the terminal.


This section describes some important features of the Vim editor.

  • It has text completion for faster editing.
  • It is able to compare differences between files and merge them.
  • It can search for regular expressions.
  • Users can perform complicated tasks using commands.
  • Users can open files in multiple tabs.
  • Users can create macros of a sequence of commands.
  • Users can save sessions to start where you left off last time.

Launching Vim

Vim can be launched directly from the terminal by running the vim command. The start screen will look like this:

Vim terminal screenshot

The following command is commonly used for exiting Vim on the terminal:


While this will close the current buffer, it will not save any changes made in the file. Here are some recommended safeguards:

Command Description
:!wq Closes the current file buffer and saves the changes.
:!xa Saves all changes and exits Vim.
!wqa Works the same as the :!xa command.
:!qa Closes Vim without warning by ending all file buffers and not saving their changes.
:qa Will not close Vim if there are any unsaved changes.

A file named filename.txt can be opened in the Vim editor. If filename.txt does not exist, the file will be created:

vim filename.txt

Vim Graphical User Interface (GUI)

Vim is also available as a GUI application:

Vim gui screenshot


Interested in helping build Docs? Read the Contribution Guide or share your thoughts in this feedback form.

Learn Open Source on Codecademy