Vim
Vim is a program for writing and editing text that is operated entirely via the keyboard. It is considered extremely fast for experienced users, but hard to learn because keys are used differently depending on the mode.
Vim is a program for writing and editing text. It is used primarily by programmers to type the source code of software. Unlike Word or Google Docs, there is no mouse, no toolbar, and no menus. Everything is done via the keyboard. Vim is over 30 years old and was released in 1991 by the Dutchman Bram Moolenaar. It is free, its source code is open for anyone to view, and it runs on practically every computer.
Why an editor from the nineties is still used
Anyone who programs a lot types for hours on end. Every hand movement to the mouse costs time in the process. Vim was built so that fingers can stay on the keyboard. Experienced users delete an entire paragraph or swap out words with two or three keystrokes. That may not sound like much, but it adds up significantly over a workday.
A second reason is availability. On almost every server running somewhere on the internet, Vim or its predecessor vi is already installed. Servers often have no graphical interface, just a text console. Anyone who needs to fix a configuration file there can rely on Vim. That’s why many IT professionals learn at least the basic commands.
However, Vim has a reputation for being difficult. The most common joke on the internet is about beginners being unable to quit the program. The command for that is :q and is nowhere visible. This learning hurdle is real: the first few hours with Vim feel slower than with any other editor.
The matter of modes
The central difference from normal text programs is the modes. A mode is a state in which the same key does something different. In normal mode, the x key doesn’t type an x, it deletes a character. Only in insert mode does one type letters as usual. You switch into it with i and back out with the Escape key.
You can think of it like the shift key on a phone, only more consistent. Because the letter keys are free in normal mode, they are available as commands. These commands can also be combined like a small language. d stands for delete, w for a word, so dw deletes a word. 3dw deletes three words. Once you know the building blocks, you can recombine them without having to memorize every combination individually.
On top of that, Vim can be extensively customized. In a settings file, you can define your own keyboard shortcuts or install extensions, for example for automatic code completion. Some users spend so much time on this configuration that it has become a running gag in its own right.
Vim in everyday life and in the tech industry
You most directly encounter Vim in a text console, i.e. a window where you type commands instead of clicking. On computers running Linux and macOS, it is usually already present. If you start a program there that requires text input, you sometimes end up in Vim unintentionally.
Modern programming environments like Visual Studio Code also offer a Vim mode. This lets you adopt the keyboard commands while keeping the graphical interface. Also popular is Neovim, a reworked fork of Vim with more modern technology. It regularly appears in developer surveys and in discussions on platforms like GitHub.
A common misconception is that Vim is a competitor to AI tools for code. In fact, they complement each other: there are extensions that integrate AI assistants directly into Vim. The editor remains merely the interface in which the text is created. That’s why Vim remains relevant even in an industry where almost everything else changes nearly every year.