June 1, 2026

A brief history of Vim

Contrary to popular belief, Vim did not begin with Vim and Bram Moolenar. It began with the "vi" editor written by Bill Joy. Development began around 1976 when Bill Joy was a graduate student at UC Berkeley.

I first discovered the "vi" editor back in 1980. We had just installed Unix v7 on our Interdata 8/32. Up to this time I had never encountered a "full screen editor" and so "vi" was a marvel. Up to this time the nicest editor I had ever worked with was SOS on a Digital DEC-10 computer.

At the time, the only choices were "ed", "ex", and "vi". I did use "ed" (and find to my amusement that it still exists on my modern Fedora 40 linux machine). With vi available, a person would have to be crazy or stubborn not to use it.

At the time we were using a variety of serial terminals. Each brand of terminal had capabilities described by an entry in the /etc/termcap file. You rarely hear about this these days, but it can be relevant if you are using a terminal emulator to a serial port or an ssh connection to a remote machine.

I continued to use "vi" on Sun workstations. My habits were entrenched and although other editors may have been available on Sun machines, they were not better, just different, so I continued to use "vi".

What about hjkl as motion keys

You sometimes hear that these were chosen because they are the home keys for the right hand (unless you use a non-standard keyboard layout). The real reason has to do with the ADM-3A terminal, which few people reading this have ever heard of, never mind seen. If you look at the ADM-3A keyboard, you will see the arrow key markings on these keys. Bill Joy was working with an ADM-3A terminal when he developed "vi". Now you know.

Along comes Vim

This was some 10 years later (1988) on Amiga computers. A fellow with the name of Bram Moolenaar developed something he called "vi" imitation (not "vi" improved). It turned out to be the most successful of several "vi" clones. The first public release was in 1991.

Bram Moolenaar died in August of 2023. He was Dutch and was the Vim author and maintainer.

Vim continues on with both Vim 8 (2016) and Vim 9 (2022) being significant releases.

Neovim

Neovim is a fork of Vim.

Neovim came on the scene around 2014. As the story goes, Thiago de Arruda (from Brazil) submited a patch to Vim that introduced multi-threading. The patch was rejected without explanation, and the rest is history.

Neovim is a faster moving fork of the vim editor with a more diverse and active development culture. Neovim appeals to the Vim hacker with a refactored code base and a more civilized scripting language (Lua instead of Vimscript).

For someone who just wants to use vim without customizing or adding plugins, either vim or neovim is fine and both work the same. Vim is probably more universally available and perhaps more stable.


Have any comments? Questions? Drop me a line!

Tom's vim pages / tom@mmto.org