On Sun, Aug 6, 2023 at 10:51 AM Leah Neukirchen <leah(a)vuxu.org> wrote:
Vim was based on Stevie, an Atari ST vi clone he
ported to the Amiga 2000.
Thank you. I also remember stevie and that stevie beget vim make so much
sense. It was one of the clones I ran back in the day.
The point is that there were (are) a number of vi clones. Which is why I
started to switch to it. It ran on everything from small 8-bit systems on
up. Particularly on the micros, they all had something akin to what
Microsoft called edlin, often just called edit. If you knew UNIX ed(1) or
any other editor from the old GED family from the 1960s, chances were you
could make it do something -- but it was PITA as each was a bit different
So copies of the editors from the larger [often DEC based systems] started
to appear on the smaller and smaller machines.
And vi seemed to be a pretty popular as a starting point[I always suspect
Webb Miller's book had something to do with that since 's' was so small
and
using it to add missing vi features was not terrible]. That said, there
was an IBM PC/386 "MS-DOS" version of vi that required ANSI.SYS that was on
the market for about $50-$100. It was 'bug for bug' compatible with Joy's
version. I always suspected that unlike Keith, they just took the Vax
code, stripped out termcap so it did not need an external terminal
database, hard coded it for ANSI.SYS, then ran it through the PHARLAP C/386
subsystem. Unlike any of the other 'clones' until nvi -- it was the only
one that had some of the same wonkiness.
As I understand it from him, Keith did nvi(1) because Joy's original work
was based on the v6 ed(1). As part of Keith's effort to try to remove any
core code in the BSD releases that had any AT&T source taint, it was just
easier to start over. The Berkeley Shell [in 1BSD] beget the C Shell, was
derived from Ken's sh in v5 and v6. I think Keith/Kirk et al felt
that any of Ken's original code had long been removed - whereas ex(1) (vi
is the actually the VIsual command for ex) probably had a lot of core ed(1).
Clem
ᐧ