nvi for serious hacking

Garance A Drosihn drosih at rpi.edu
Mon Oct 17 19:08:10 PDT 2005

At 1:25 PM -0600 10/17/05, M. Warner Losh wrote:
>In message: <20051017003501.GB41769 at thought.org>
>             Gary Kline <kline at tao.thought.org> writes:
>:	vi was the first screen/cursor-based editor in computer
>:	history.
>Are you sure about this?  I was using screen oriented editors over a
>1200 baud dialup line in 1977 on a PDP-11 running RSTS/E on a Behive
>BH-100.  Seems like one year from vi to being deployed at Berkeley to
>a completely different video editor being deployed on a completely
>different os in the schools that I used this in seems fast.  So I did
>some digging.
>vi started in about 1976[1] as a project that grew out of the
>frustration taht a 200 line Pascal program was too big for the system
>to handle.  These are based on recollections of Bill Joy in 1984.
>It appears that starting in 1972 Carl Mikkelson added screen editing
>features to TECO[2].  In 1974 Richard Stallman added macros to TECO.
>I don't know if Carl's work was the first, but it pre-dates the vi
>efforts.  Other editors may have influanced Carl.  Who knows.

I arrived in RPI in 1975.  In December of 1975, we were just trying
out a mainframe timesharing system called "Michigan Terminal System",
or "MTS", from the university of Michigan.  The editor was called
'edit', and was a Command Language Subsystem (CLS) in MTS.  That
meant it had a command language of it's one.

One of the sub-commands in edit was 'visual', for visual mode.  It
only worked on IBM 3270-style terminals, but it was screen-based and
cursor-based.  The editor would put a bunch of fields up on the
screen, some of which you could modify and some you couldn't.  The
text of your file was in the fields you could type over.  Once you
finished with whatever changes you wanted to make on that screen, you
would hit one of 15 or 20 interrupt-generating keys on the 3270
terminal (12 of which were "programmable function keys", in a keypad
with a layout similar to the numeric keypad on current keyboards).
The 3270 terminal would then tell the mainframe which fields on the
screen had been modified, and what those modifications were.  The
mainframe would update the file based on that info.

I *THINK* the guy who wrote that was ...  Bill Joy -- as a student at
UofM.  I can't find any confirmation of that, though.  The closest
I can come is the web page at http://www.jefallbright.net/node/3218 ,
which is an article written by Bill.  In it he mentions:

    By 1967, MTS was up and running on the newly arrived 360/67,
    supporting 30 to 40 simultaneous users.   ...

    By the time I arrived as an undergraduate at the University
    of Michigan in 1971, MTS and Merit were successful and stable
    systems. By that point, a multiprocessor system running MTS
    could support a hundred simultaneous interactive users, ...

But he doesn't happen to mention anything about editors or visual
mode.  My memory of his connection to MTS's visual-mode could very
well be wrong, since I didn't come along until after visual-mode
already existed.  I just remember his name coming up in later
discussions.  However, I also think there was someone named Victor
who was part of the story of 3270 support in MTS.  And Dave Twyver
at University of British Columbia was the guy who wrote the
3270 DSR (Device Support Routine), as mentioned on the page at:

In any case, I *am* sure that MTS had a visual editor in December of
1975, which puts before vi if vi started in 1976.  Unfortunately, all
of the documentation of MTS lived in the EBCDIC world, and pretty
much disappeared when MTS did (in the late 1990's).

Garance Alistair Drosehn            =   gad at gilead.netel.rpi.edu
Senior Systems Programmer           or  gad at freebsd.org
Rensselaer Polytechnic Institute    or  drosih at rpi.edu

More information about the freebsd-questions mailing list