100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Programming

Vim (editor)

IntermediateTool12K learners

Vim is a highly configurable, keyboard-driven text editor descended from the Unix vi editor, known for its modal editing model that separates typing text from issuing editing commands.

Definition

Vim is a highly configurable, keyboard-driven text editor descended from the Unix vi editor, known for its modal editing model that separates typing text from issuing editing commands.

Overview

Vim ("Vi IMproved") was created by Bram Moolenaar and first released in 1991 as an extension of the original vi editor built for Unix systems in the 1970s. Its defining characteristic is modal editing: users switch between a Normal mode for navigation and commands, an Insert mode for typing text, and other modes for visual selection or command-line operations, all driven almost entirely from the keyboard. This modal approach allows for extremely efficient text manipulation once learned — commands can be combined and repeated to perform complex edits in very few keystrokes — but it also gives Vim a reputation for a steep learning curve for newcomers. Vim ships by default or is readily available on virtually every Linux and Unix-like system, making it a common choice for editing files directly over SSH or in minimal server environments where a graphical editor isn't available. Vim's behavior can be deeply customized through a configuration file and a large ecosystem of plugins, and its modal editing philosophy has influenced or been reimplemented in many other tools, including as an optional keybinding mode in editors like VS Code. Neovim, a modernized fork focused on extensibility and better plugin architecture, has become a popular alternative that preserves Vim's core editing model while modernizing its internals.

Key Features

  • Created by Bram Moolenaar, first released in 1991
  • Descended from the original Unix vi editor
  • Modal editing separates navigation/commands from text insertion
  • Highly efficient keyboard-driven editing once mastered
  • Available by default on virtually all Unix-like and Linux systems
  • Deeply configurable via config files and a large plugin ecosystem
  • Modal editing style adopted as an optional mode in many modern editors

Use Cases

Editing files directly on remote servers over SSH
Working in minimal Linux environments without a GUI editor available
Efficient text editing for developers comfortable with keyboard-only workflows
Editing configuration files and scripts in DevOps and sysadmin work
Customizing a personal editing environment through plugins and config files
Serving as the editing engine behind Vim-emulation modes in other editors

Frequently Asked Questions