Class 8 of 37 • VI Editor Mastery \t\t\t\t

History of VI Editor in Linux Programming

 The VI editor was developed starting around 1976 by Bill Joy, who was then a graduate student at the University of California at Berkeley. Joy later went on to co-found Sun Microsystems in 1982 and served as its Chief Scientist, playing an instrumental role in the rise of networked Unix workstations and Java technology.

 "ed" was the original Unix text editor created by Ken Thompson at Bell Labs in 1969. Like other early computing utilities, ed was strictly line-oriented and designed to run on electromechanical printing teletype terminals (such as the Teletype Model 33 ASR) that printed output on paper rolls rather than cathode-ray screens. Joy first developed "ex" (Extended editor) as a superset of ed commands, adding the full-screen visual mode command (:vi) for newer video terminals.

 VI remains enormously popular today in spite of the widespread development of modern graphical IDEs like VS Code, Sublime Text, or Eclipse. Because VI operates directly within the shell terminal buffer, it requires minimal system memory and is guaranteed to exist on every Unix and Linux distribution mandated by the Single UNIX Specification and POSIX standards.

The Chronological Evolution of VI

Year

Milestone

Historical Significance

1969

ed (Ken Thompson)

Original line editor written in PDP-7 assembly for early Bell Labs Unix. Influenced regular expression syntax.

1976

em (George Coulouris)

"Editor for Mortals" created at Queen Mary College, London, demonstrating full-screen editing potential on CRT displays.

1976–1979

ex and vi (Bill Joy)

Developed for BSD Unix. Joy created termcap to support multiple terminal displays and added visual command mode.

1980s

POSIX Mandate

POSIX standards enshrined vi as the mandatory default text editor on all certified Unix operating systems.

1991

VIM (Bram Moolenaar)

Released for Commodore Amiga and Unix. Added multi-level undo, split viewports, syntax highlighting, and scriptable plugins.

2014–Present

Neovim

Refactored community fork of Vim providing asynchronous job control, embedded Lua configuration, and built-in LSP support.

The Mystery of H, J, K, L: The ADM-3A Terminal Origin

Beginners often wonder why VI uses h, j, k, and l instead of physical arrow keys for cursor navigation. The reason is rooted in computer hardware history:

  • Bill Joy developed VI on a Lear Siegler ADM-3A video terminal.
  • The ADM-3A keyboard had no dedicated arrow keys! Instead, directional arrows were physically printed onto the H (left), J (down), K (up), and L (right) keys.
  • Furthermore, the Escape key was conveniently located directly to the left of the Q key (where modern keyboards have Tab or Caps Lock), making switching in and out of Insert Mode effortless.
  • The Home directory key (~) was located on the same key as the caret/tilde, which is why Unix uses ~ to denote the user's home directory!

Frequently Asked Questions (FAQs)

Bill Joy created VI in 1976 while studying at UC Berkeley to provide a full-screen, responsive visual editing mode for BSD Unix running over slow 300-baud modems.
VI stands for Visual. It was named after the :visual (or :vi) command inside the older line-based ex editor.
VI is the original 1976 editor. VIM (Vi IMproved) was released in 1991 by Bram Moolenaar, offering backward compatibility alongside modern features like multi-level undo/redo, syntax coloring, mouse support, and split windows.

Next Step in Your Linux Learning Path:

Explore the core capabilities that make VI irreplaceable on Linux servers in Class 9: Features of VI.

Continue to Class 9: Features of VI → Previous: ← VI Overview | Full Syllabus

Share Share on Facebook Share on Twitter Share on LinkedIn Pin on Pinterest Share on Stumbleupon Share on Tumblr Share on Reddit Share on Diggit

You may also like this!