Recently I had the pleasure to participate on my first Vim Meetup and it was absolutely amazing to see a bunch of enthusiasts talking about this editor that has been continuously growing since its inception.
There was something exciting about this particular Meetup, someone was going to talk about its history! The talk was great and we even got to play with some of the editors that inspired Vim.
There’s so much to say about Vim, Vi and its predecessors that it would take me forever to write about it, so here’s a quick timeline and a few resources in case you’re interested on reading more about it and how Vim became this excellent editor:
1964 - ‘qed’ was born. QED, which stands for Quick EDitor, was a line-oriented text editor developed by Butler Lampson and L. Peter Deutsch. Among some of its features, it was the first appearance of REGEX as a mean to match pattern in text files and replace a substring. Until that time, text editors could search for a literal string, and substitute for one, but not specify more general strings.
1971 - ‘ed’ The next text line editor that came up as one of the first programs when UNIX was being developed. ED was written by Ken Thompson and had strong influence on QED since Ken was very familiar with it. ED was available on essentially all unix systems, and one of the coolest features of Vi was born here, that feature was what we know today as modes, although it only had command and input mode back then something big was yet to happen!
1976 - ‘ex’ Short for EXtended was the next line editor for UNIX written by Bill Joy after one of his friends introduced a modified version of ED (called EM). He then decided to fork it, make it less processor consuming and give a visual interface. This editor eventually became what most of us know as the Vi editor.
1987 - Stevie) Stevie was basically a clone of Bill Joy’s Vi for the Atari ST, since Vi was under some licenses that prevented it from being freely redistributed into UNIX systems. The name Stevie stands for ST Editor for VI Enthusiasts.
1988 - Stevie got some improvements as well as finally being ported to UNIX and OS/2.
1988 - Vim 1.0 was born. VIM stands for Vi IMitation, and it was born on the AmigaOS based on Stevie, VIM then became to gain a whole bunch of new features and improvements and there has been a lot of efforts around supporting it in other operating systems.
1991 - Vim 1.14 First public release
1992 - Vim 1.22 Finally ported to Unix and renamed to Vi IMproved
1993 - Vim 2.0 This is the first release using the name Vi IMproved.
1994 - Vim 3.0 Support for multiple windows.
1996 - Vim 4.0 GUI
1998 - Vim 5.0 Syntax highlighting, basic scripting (user defined functions, commands, etc.)
2001 - Vim 6.0 Folding, multi-language (version 6.0: the major new feature was folding. But, there were other great features such as UTF-8 support, multi-language support (translated messages and menus), vertical window split, improved performance for syntax highlighting).
2006 - Vim 7.0 Spell checking, code completion, tab pages (multiple viewports/window layouts), current line and column highlighting, undo branches, and more.
As of now Vim’s current stable release is 7.4 and there has been a lot of improvements and features that I’m sure I know close to 1% of what Vim has to offer, just go check out Vim’s manual for more detail. Now, if you want to dig deeper into its history there’s also an excellent resource for the whole Vi family here.