Things Have History
Vim: from Vi IMitation to Vi IMproved

code-editors

Vim: from Vi IMitation to Vi IMproved

Listen · 4:14

Type :help uganda in a fresh Vim session and the editor interrupts its usual silence with something most software licenses never say: a request to donate to children in Uganda. Bram Moolenaar put it there in 1994, the year he returned from twelve months volunteering at the Kibaale Children’s Centre in western Uganda. He had been coding Vim for six years by then; he would keep coding it for twenty-nine more.

Moolenaar was a software engineer from Lisse, a small Dutch town an hour south of Amsterdam, and the problem he was solving in 1988 was modest: he had just bought an Amiga 2000 and vi was not on it. Vi — Bill Joy’s modal editor, written at UC Berkeley in the late 1970s — had gotten into Moolenaar’s hands the way a good tool does, invisibly and completely. Working without it was annoying enough that he found an existing Amiga vi clone called STEVIE — ST Editor for VI Enthusiasts, ported by an American programmer named Tony Andrews — and began improving it (Two Bit History). He never quite stopped.

Version 1.14 shipped on November 2, 1991, distributed via Fish Disk #591, the Amiga community’s curated shareware archive (Wikipedia). Moolenaar called it Vi IMitation, and the name was accurate: his first priority was vi compatibility, right down to making Vim macros run unchanged vi macros. But compatibility turned out to be a floor, not a ceiling. By version 1.22 — ported to Unix in 1993 — the editor had grown undo trees, multiple windows, and enough distance from the original that Moolenaar quietly changed the acronym. Vi IMitation became Vi IMproved.

In 1994 and 1995, Moolenaar took a leave from software to volunteer as a water-and-sanitation engineer at the Kibaale Children’s Centre in western Uganda, a facility caring for children orphaned by the AIDS crisis. He came home and added an unusual clause to Vim’s license: “Vim is Charityware. You can use and copy it as much as you like, but you are encouraged to make a donation for needy children in Uganda” (VimHelp). He founded ICCF Holland — the International Child Care Fund — to channel whatever came in. By 1999, Vim users had sent roughly $7,000 to Uganda. The license had become, in effect, a standing reminder that software has a human at the other end of it.

Vim reached Linux distributions in the mid-1990s as the default vi-compatible editor on Red Hat and Debian, which meant that most Unix developers between 1995 and 2005 learned it whether they intended to or not. Syntax highlighting arrived in version 5.0 (1998); Vimscript made it programmable; the plugin ecosystem turned it into something closer to an IDE. By 2006, Linux Journal readers voted it the most popular editor on the platform.

Bram Moolenaar died on August 3, 2023, in the Netherlands, aged 62, having maintained Vim for thirty-two years (Wikipedia). Neovim — a modernized fork started in 2014 — absorbed much of the developer community shortly after; Vim’s modal-editing DNA had by then spread into VS Code key bindings, JetBrains plug-ins, and browser extensions used by people who had never typed a command at a shell prompt. The keystrokes Bill Joy invented in 1976 now live in nearly every serious coding environment on the planet.

The IMitation has outlasted almost everything it was imitating.

Sources

Spot a mistake?

Wrong date, broken citation, a fact that doesn't hold? Tell us. It lands in an inbox a human reads and the post can be pulled or corrected.