Of possible interest.
By the way, CABAL tomorrow!
----- Forwarded message from Rick Moen <rick at linuxmafia.com> -----
Date: Fri, 9 Dec 2011 19:32:47 -0800
From: Rick Moen <rick at linuxmafia.com>
To: Howard Gibson <hgibson at eol.ca>
Cc: jdd <jdd at dodin.org>, "discuss at en.tldp.org" <discuss at en.tldp.org>
Subject: Re: [discuss] Re: Unix Command Line HOWTO
Organization: If you lived here, you'd be $HOME already.
Hi, Howard. Thank you very much for writing Unix Command Line HOWTO.
Quoting Howard Gibson (hgibson at eol.ca):
> On Fri, 09 Dec 2011 10:59:56 +0100 jdd <jdd at dodin.org> wrote:
>> > there is no "original vi". Simply any "vi" command is a link to some
> > vi variation, often vim (as said in the document). Some versions are
> > specially ugly :-)
>> Didn't Bill Joy write this thing originally? What did he call it? I
> seem to recall that elvis uses the mouse such that the X11 copy and
> paste does not work. Maybe mentioning vim and elvis is more detail
> than a new user needs.
Disclaimer: These comments (that follow) are somewhat off the top of my
head, so please don't expect an ultra-accurate historical treatise.
Yes indeed, Bill Joy was the guy who wrote primordial vi. I actually
used the damned thing, on VAXen in Evans Hall, UC Berkeley, while using
the timeshare accounts there. Damn, that was a horrible editor. I
second your initial revulsion -- making it all the more ironic that I
practically live in vim, these days.
Bill wrote it in the 1970s as a set of visual (full-screen) extensions
for the 'ex' line-mode editor utility, and it was then merged into BSD
distributions that followed. Eventually, instead of being just a
secondary mode of ex, vi was changed to be a hardlink to the ex
executable, so that it would start up in visual mode.
You may recall that the bad years of the AT&T v. UC Regents lawsuit came
soon afterwards. Rightly or wrongly, there was a perception that 'ex'
was encumbered by AT&T copyright, so that discouraged wide distribution
of vi other than by AT&T licensees. So, that was what inspired
third-party reimplementations of the _notion_ of vi from scratch,
starting with Steve Kirkendall's 'elvis'.[1]
Because 'elvis' was _almost_ compatible with all of primordial vi's
quirks, the people at UC Berkeley's Computer Science Research Group
(producers of BSD) wanted an _absolutely_ compatible rewrite, so
renaissance man Keith Bostic found time in his busy schedule to write
one, 'nvi' (new vi), which to this day is the bog-standard vi
implementation on BSDs, and also on some Linux distros.
_Most_ Linux distros favour the much more featureful, but not slavishly
compatible clone 'vim' by Bram Moolenar ('vi improved'). Vim can be
caused to be almost completely bug-for-bug compatible with nvi (and thus
with Joy's primordial vi), but even that compatibility mode has, IIRC,
some differences. (Compatibility mode will, if you're a vim user,
remind you of all the things you hated about other vi implementations,
e.g., no visual indicator of command vs. overwrite/insert modes, and
only a single level of undo.)
Meanwhile, Joy's vi was mostly forgotten (because of successful
replacements) but staged a slight comeback in 2002, when Caldera Systems
re-released AT&T 32V Unix and Unix V. 7 under a permissive licence --
which meant that Joy's original codebase was finally unambiguously open
source. Gunnar Ritter had by that point already resumed semi-legal
redistribution of an updated version of Joy's code, but Caldera's
licensing announcement removed all legal impediments to it. That
version is now available as 'Traditional Vi', aka 'ex-vi':
http://sourceforge.net/projects/ex-vi/
All of this is _way_ more detail than any new Unix user could possibly
want to have -- but I thought you might be interested.
[1] What I loved about the elvis editor was that, if you logged out
with a file open in its buffer, next time you logged in, you received
e-mail from elvis. Proof that The King is still alive!
--
Cheers,
Rick Moen Every time you make a typo, the errorists win.
rick at linuxmafia.com
McQ! (4x80)
______________________
http://lists.tldp.org/
----- End forwarded message -----