Vi Pages - Definition - vi, Vi, VI
As there are quite some clones of Vi about
many users do not realize which version they are using,
although the command :version should show them.
However, this requires a definition about when to use
"vi", "Vi", or "VI" in your texts - especially on the
Usenet in the newsgroup comp.editors and others.
Vi is a Text Editor
What is Vi? Well, in short - Vi is an "editor",
ie a program that allows to "edit" (making changes to) files.
These files usually are files containing "text" (ASCII 000-127).
Hence VI is referred to as a "text editor", even though
you can also edit "binary files" (which include characters
with the highest bit set, ie characters ASCII 128-255).
Vi Clones
Vi has been a standard editor on Unix systems for many years now.
Now there are several programs which incorporate the command
structure of this editor and which all add features that you probably
have wanted with Vi all along; these are the "clones".
POSIX
There is also a definiton by the "POSIX standard",
but many programs which claim to be "vi" are "clones"
which more or less do standard Vi (whatever that is).
Usually vi clones come with lots of (non-compatible) add-ons,
but which usually are an improvement.
As ex/vi is part of the POSIX 1003.2 specification for shell utilities,
you can say they are "standard" in more that just a colloquial sense.
Jargon File Definition
And then there is the
"Jargon File on vi":
vi: /V-I/, *not* /vi/ and *never* /siks/ n.
[from `Visual Interface'] A screen editor crufted together by
Bill Joy for an early {BSD} release. Became the de facto
standard UNIX editor and a nearly undisputed hacker favorite
outside of MIT until the rise of {EMACS} after about 1984.
Tends to frustrate new users no end, as it will neither take
commands while expecting input text nor vice versa, and the default
setup provides no indication of which mode the editor is in (one
correspondent accordingly reports that he has often heard the
editor's name pronounced /vi:l/). Nevertheless it is still
widely used (about half the respondents in a 1991 Usenet poll
preferred it), and even EMACS fans often resort to it as a mail
editor and for small editing jobs (mainly because it starts up
faster than the bulkier versions of EMACS). See {holy wars}.
Development History
In article in the
Linux Magazine, November 1999
Bill Joy says that vi evolved from the editor "ed",
then via "em" to "ex" and
"you've got to remember that I was trying to make it usable over a 300
baud modem. That's also the reason you have all these funny commands.
[...]
So the editor was optimized so that you could edit and feel
productive when it was painting slower than you could think."
Bill Joy then added the code that changed the editor "ex" to "vi".
(You can still switch from vi to ex with the command "Q",
and back again with command "vi". Try it!)
Terminology
Due to the non-compatibility of the various vi clones
I will try to maintain the following terminology
throughout these pages and also when posting info
to newsgroups, especially "comp.editors":
vi the program "vi" on your current system (might be nvi or vim)
Vi the "standard vi" (whatever that is ;-)
VI any vi or clone thereof aka "all versions of vi"
vim the program "vim" on your current system
Vim Vi IMproved - a truly great vi clone with many improvements
VIM any version of Vim
Vim-5.8 Vim - user release
Vim-6.0w Vim - developer release - ALPHA version
Vim-6.1.153 Vim - developer release - BETA version with patch number