Vi

1976

The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by (and thus standardized by) the Single Unix Specification and POSIX. The original code for vi was written by Bill Joy in 1976, as the visual mode for a line editor called ex that Joy had written with Chuck Haley.

Thus it had to fall to someone else to pioneer screen editing for Unix, and that was us initially, and we continued to do so for many years. Coulouris considered the cryptic commands of ed to be only suitable for "immortals", and thus in February 1976, he enhanced ed (using Ken Thompson's ed source as a starting point) to make em (the "editor for mortals") while acting as a lecturer at Queen Mary College.

When Coulouris visited UC Berkeley in the summer of 1976, he brought a DECtape containing em, and showed the editor to various people.

1977

After Haley's departure, Bruce Englar encouraged Joy to redesign the editor, which he did June through October 1977 adding a full-screen visual mode to ex. Many of the ideas in ex's visual mode (a.k.a.

1978

Bill Joy's ex 1.1 was released as part of the first Berkeley Software Distribution (BSD) Unix release in March 1978.

Joy explained that the terse, single character commands and the ability to type ahead of the display were a result of the slow 300 baud modem he used when developing the software and that he wanted to be productive when the screen was painting slower than he could think. === Distribution === Joy was responsible for creating the first BSD Unix release in March, 1978, and included ex 1.1 (dated 1 February 1978) in the distribution, thereby exposing his editor to an audience beyond UC Berkeley.

1979

It was not until version 2.0 of ex, released as part of Second BSD in May 1979 that the editor was installed under the name "vi" (which took users straight into ex's visual mode), and the name by which it is known today.

In a 1984 interview, Joy attributed much of the success of vi to the fact that it was bundled for free, whereas other editors, such as Emacs, could cost hundreds of dollars. Eventually it was observed that most ex users were spending all their time in visual mode, and thus in ex 2.0 (released as part of Second Berkeley Software Distribution in May, 1979), Joy created vi as a [link] to ex, such that when invoked as vi, ex would automatically start up in its visual mode.

By version 3.1, shipped with 3BSD in December 1979, the full version of vi was no longer able to fit in the memory of a PDP-11; the editor would be also too big to run on PC/IX for the IBM PC in 1984. Joy continued to be lead developer for vi until version 2.7 in June 1979, and made occasional contributions to vi's development until at least version 3.5 in August 1980.

I think if I were going to go back—I wouldn't go back, but start over again. In 1979, Mary Ann Horton took on responsibility for vi.

1980

By version 3.1, shipped with 3BSD in December 1979, the full version of vi was no longer able to fit in the memory of a PDP-11; the editor would be also too big to run on PC/IX for the IBM PC in 1984. Joy continued to be lead developer for vi until version 2.7 in June 1979, and made occasional contributions to vi's development until at least version 3.5 in August 1980.

1981

Horton added support for arrow and function keys, macros, and improved performance by replacing termcap with terminfo. === Ports and clones === Up to version 3.7 of vi, created in October 1981, UC Berkeley was the development home for vi, but with Bill Joy's departure in early 1982 to join Sun Microsystems, and AT&T's UNIX System V (January 1983) adopting vi, changes to the vi codebase happened more slowly and in a more dispersed and mutually incompatible way.

1982

Horton added support for arrow and function keys, macros, and improved performance by replacing termcap with terminfo. === Ports and clones === Up to version 3.7 of vi, created in October 1981, UC Berkeley was the development home for vi, but with Bill Joy's departure in early 1982 to join Sun Microsystems, and AT&T's UNIX System V (January 1983) adopting vi, changes to the vi codebase happened more slowly and in a more dispersed and mutually incompatible way.

1983

Horton added support for arrow and function keys, macros, and improved performance by replacing termcap with terminfo. === Ports and clones === Up to version 3.7 of vi, created in October 1981, UC Berkeley was the development home for vi, but with Bill Joy's departure in early 1982 to join Sun Microsystems, and AT&T's UNIX System V (January 1983) adopting vi, changes to the vi codebase happened more slowly and in a more dispersed and mutually incompatible way.

1984

In a 1984 interview, Joy attributed much of the success of vi to the fact that it was bundled for free, whereas other editors, such as Emacs, could cost hundreds of dollars. Eventually it was observed that most ex users were spending all their time in visual mode, and thus in ex 2.0 (released as part of Second Berkeley Software Distribution in May, 1979), Joy created vi as a [link] to ex, such that when invoked as vi, ex would automatically start up in its visual mode.

By version 3.1, shipped with 3BSD in December 1979, the full version of vi was no longer able to fit in the memory of a PDP-11; the editor would be also too big to run on PC/IX for the IBM PC in 1984. Joy continued to be lead developer for vi until version 2.7 in June 1979, and made occasional contributions to vi's development until at least version 3.5 in August 1980.

It is in some sense, a strange inversion that BSD Unix, where Joy's vi codebase began, no longer uses it, and the AT&T-derived Unixes, which in the early days lacked Joy's editor, are the ones that now use and maintain modified versions of his code. === Impact === Over the years since its creation, vi became the de facto standard Unix editor and a hacker favorite outside of MIT until the rise of Emacs after about 1984.

1985

By 1985, a version of Emacs (MicroEMACS) was available for a variety of platforms, but it was not until June 1987 that STEVIE (ST Editor for VI Enthusiasts), a limited vi clone, appeared.

1987

By 1985, a version of Emacs (MicroEMACS) was available for a variety of platforms, but it was not until June 1987 that STEVIE (ST Editor for VI Enthusiasts), a limited vi clone, appeared.

1989

Andrew Tanenbaum quickly asked the community to decide on one of these two editors to be the vi clone in Minix; Elvis was chosen, and remains the vi clone for Minix today. In 1989 Lynne Jolitz and William Jolitz began porting BSD Unix to run on 386 class processors, but to create a free distribution they needed to avoid any AT&T-contaminated code, including Joy's vi.

1990

In early January 1990, Steve Kirkendall posted a new clone of vi, Elvis, to the Usenet newsgroup comp.os.minix, aiming for a more complete and more faithful clone of vi than STEVIE.

1991

About half the respondents in a 1991 USENET poll preferred vi.

Beyond 1.79, from October, 1996, which is the recommended stable version, there have been "development releases" of nvi, the most recent of which is 1.81.6, from November, 2007. vile was initially derived from an early version of Microemacs in an attempt to bring the Emacs multi-window/multi-buffer editing paradigm to vi users, and was first published on Usenet's alt.sources in 1991.

1992

To fill the void left by removing vi, their 1992 386BSD distribution adopted Elvis as its vi replacement.

When FreeBSD and NetBSD resynchronized the 4.4-Lite2 codebase, they too switched over to Bostic's nvi, which they continue to use today. Despite the existence of vi clones with enhanced featuresets, sometime before June 2000, Gunnar Ritter ported Joy's vi codebase (taken from 2.11BSD, February 1992) to modern Unix-based operating systems, such as Linux and FreeBSD.

1994

Using Kirkendall's Elvis (version 1.8) as a starting point, Bostic created nvi, releasing it in the northern spring of 1994.

1996

Beyond 1.79, from October, 1996, which is the recommended stable version, there have been "development releases" of nvi, the most recent of which is 1.81.6, from November, 2007. vile was initially derived from an early version of Microemacs in an attempt to bring the Emacs multi-window/multi-buffer editing paradigm to vi users, and was first published on Usenet's alt.sources in 1991.

1999

In 1999, Tim O'Reilly, founder of the eponymous computer book publishing company, stated that his company sold more copies of its vi book than its emacs book. == Interface == vi is a modal editor: it operates in either insert mode (where typed text becomes part of the document) or command mode (where keystrokes are interpreted as commands that control the edit session).

2000

When FreeBSD and NetBSD resynchronized the 4.4-Lite2 codebase, they too switched over to Bostic's nvi, which they continue to use today. Despite the existence of vi clones with enhanced featuresets, sometime before June 2000, Gunnar Ritter ported Joy's vi codebase (taken from 2.11BSD, February 1992) to modern Unix-based operating systems, such as Linux and FreeBSD.

2002

Initially, his work was technically illegal to distribute without an AT&T source license, but, in January 2002, those licensing rules were relaxed, allowing legal distribution as an open-source project.

2003

The most recent version of Elvis is 2.2, released in October 2003. nvi is an implementation of the ex/vi text editor originally distributed as part of the final official Berkeley Software Distribution (4.4 BSD-Lite).

2007

Beyond 1.79, from October, 1996, which is the recommended stable version, there have been "development releases" of nvi, the most recent of which is 1.81.6, from November, 2007. vile was initially derived from an early version of Microemacs in an attempt to bring the Emacs multi-window/multi-buffer editing paradigm to vi users, and was first published on Usenet's alt.sources in 1991.

2009

A 2009 survey of Linux Journal readers found that vi was the most widely used text editor among respondents, beating gedit, the second most widely used editor, by nearly a factor of two (36% to 19%). == History == === Creation === vi was derived from a sequence of UNIX command line editors, starting with ed, which was a line editor designed to work well on teleprinters, rather than display terminals.




All text is taken from Wikipedia. Text is available under the Creative Commons Attribution-ShareAlike License .

Page generated on 2021-08-05