vi is a visual, full-screen text editor for Unix written by Bill Joy while he was a graduate student at the University of California, Berkeley. Marshall Kirk McKusick’s history “Twenty Years of Berkeley Unix” describes how the replacement of teletype machines by screen terminals left Joy frustrated with the line-oriented editors of the day, and how he responded by building an editor that used the whole screen.
In his Computer History Museum oral history, Joy recalls drawing on ideas from an existing editor when he designed the visual editor for Unix. vi grew out of his earlier line editor ex; the visual mode and the line editor were two faces of the same program, with vi presenting the screen-oriented interface.
vi was distributed as part of the Berkeley Software Distribution of Unix, which carried it to universities and companies around the world. Its modal design, in which keys mean different things depending on whether the editor is in command or insert mode, became a defining and much-debated feature.
Because a vi-compatible editor was later required by the POSIX standard for Unix systems, some version of vi is present on essentially every Unix and Linux machine. The widely used reimplementation Vim continues the design today, making Joy’s 1970s editor one of the longest-lived programs in everyday use.