Subject: Re: NetBSD install missing things?
To: None <netbsd-help@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-help
Date: 01/09/2002 23:23:24
In article <024001c19953$9f67cd80$0100a8c0@snowdrop>,
David Laight <David.Laight@btinternet.com> wrote:
>
>I'm not sure, but at a guess, K&R wrote curses and vi to avoid having to
>edit using ed.  They wrote C because the didn't like pdp11 assembler :-)

Let's not re-write history here:

From the original vi acknowledgements, by William Joy and Mark Horton:

	Bruce Englar encouraged the early development of this display
	editor.  Peter Kessler helped bring sanity to version 2's
	command layout.  Bill Joy wrote versions 1 and 2.0 through 2.7,
	and created the framework that users see in the present editor.
	Mark Horton added macros and other features and made the editor
	work on a large number of terminals and Unix systems.

And the original vi did not use curses like nvi/elvis/vim et.al. do.
It used termcap directly. It also had the sticky bit set, so it would
load faster :-)

>> 
>> vi(1) is a screen-oriented, keystroke-interactive editor.  It requires a
>> rather more capable display than does ed.  (vi likes to move the cursor
>> around your screen.  ed can work on anything that supports lines of ASCII
>> text.)
>
>vi doesn't need much from your terminal.  I think 'home curser' might be
>enough!  but it probably wants an addressable cursor.
>Given that someone I know ported nvi to the psion V, (x86, linited to 64k
>code) I dont see why a static vi couldn't be present - or is the one we
>run trully horrendous?  Would back fixind in single user more easier.

The original vi needed a shitload of termcap capabilities, otherwise it
refused to work. Plus it defaulted to open mode on <= 2400 baud.
Nvi needs a bunch too...

>> As I understand it, vi was originally written as a more interactive/nicer
>> interface to the ed editor.  I believe that we have both ed and ex because
>> ed is kept minimalist for /bin.  On the other hand, NetBSD's vi is built
>> on top of ex (or is actually the same binary?).  vi requires shared
>> libraries, so you don't want that in /bin.  (^&

It is not an interface to ed. It is a complete rewrite from the ground up.

christos