I am sure that once they used i.e vi to write their own text editors, they were complete experts at using itThat might rule out people like Ken Thompson, Dennis Ritchie, Rob Pike, many other Bell labs alumni....
I am sure that once they used i.e vi to write their own text editors, they were complete experts at using itThat might rule out people like Ken Thompson, Dennis Ritchie, Rob Pike, many other Bell labs alumni....
You're sure how? AFAIK they did. The blit terminal came about in 1982 (Rob wrote the jim editor for that). By then unix was already quite well cooked. sam & acme & plan9 came much later.I'm quite sure they didn't write all of unix, the C compiler, etc with ed.
One of the comforting things about old memories is their tendency to take on a rosy glow. The programming environment provided by the early versions of Unix seems, when described here, to be extremely harsh and primitive. I am sure that if forced back to the PDP-7 I would find it intolerably limiting and lacking in conveniences. Nevertheless, it did not seem so at the time;
They went from ed to *graphical* editors! Bell Labs at the time could afford graphics terminals like the Blit. It was only outside the Labs that people had to make do with cheap imitations of DEC's VT52.I am sure that once they used i.e vi to write their own text editors, they were complete experts at using it![]()
Still, one can do just fine without knowing vi and use ee or emacs or ed or whatever as they are freely available.You can fly to any country in the world, sit down at a unix system, and you will have vi available.
Sure, there was all kinds of experimentation at the time. Some solutions were adopted for widespread use, others weren't.They went from ed to *graphical* editors! Bell Labs at the time could afford graphics terminals like the Blit. It was only outside the Labs that people had to make do with cheap imitations of DEC's VT52.
You won't necessarily have ee or emacs or nano, etc available. Vi is the system editor that is guaranteed to be present, its part of the definition of unix. Unless a deliberate decision has been taken to remove it, eg to lock the system down. Vi / ex <<is>> the unix system editor. It's the one that was chosen, decades ago. It is a standard part of the unix userland. None of the others are. Its a standard part of unix, like 'ls', 'cat' and 'grep', etc. The next time you get an assignment to the Amundsen-Scott research station at the south pole, you can be confident that vi will be there for you.Still, one can do just fine without knowing vi and use ee or emacs or ed or whatever as they are freely available.
True, mpx and mux do predate vi. I suppose the later Plan 9's terminals also famously doesn't provide the capabilities required for vi (until an attempt at a vim port many years later), so I suppose that also checks out.They went from ed to *graphical* editors! Bell Labs at the time could afford graphics terminals like the Blit. It was only outside the Labs that people had to make do with cheap imitations of DEC's VT52.
They are, as part of devel/plan9port. I still use acme when browsing through a lot of source files. I used to run acme on my internal machine and access it via a work machine through forwarded ssh tunnels and still acme would start up almost instantly.Ironically, only the graphical text editors they used are no longer feasible to run these days (sam, acme are not easy to obtain outside of Plan 9 forks.
The two main reasons to learn to use vi is that it's pretty much guaranteed that any UNIXy system you sit down at will have vi or a clone and 2 that once you get to know how to do a bit with it, it is incredibly efficient in what you can do with just a keyboard.You won't necessarily have ee or emacs or nano, etc available. Vi is the system editor that is guaranteed to be present, its part of the definition of unix. Unless a deliberate decision has been taken to remove it, eg to lock the system down. Vi / ex <<is>> the unix system editor. It's the one that was chosen, decades ago. It is a standard part of the unix userland. None of the others are. Its a standard part of unix, like 'ls', 'cat' and 'grep', etc.
I'm pretty sure because teletype machines and other line printers didn't have anything but caps. I used the ADM back in the day but I don't recall if the screen was all caps or not.And this is why vi never took account of caps lock. Bill Joy's ADM-31 terminal back then didn't have a caps-lock key.
View attachment 26352
Indeed, you basically need to either emulate Plan 9 in a VM (incl Inferno) or you need to bring in an entire compat layer just for a ~1MB program.They are, as part of devel/plan9port. I still use acme when browsing through a lot of source files. I used to run acme on my internal machine and access it via a work machine through forwarded ssh tunnels and still acme would start up almost instantly.
Yes, I'd forgotton the days when there was no lower case, that's a looong time ago! Quite right!I'm pretty sure because teletype machines and other line printers didn't have anything but caps. I used the ADM back in the day but I don't recall if the screen was all caps or not.
The closest clone to acme is edwood. It is cross platform and can be compiled to avoid p9p entirely. But being in Go it is about 10 times larger than acme. There are other clones but I stick to acme! Plus I find most commands in p9p useful.Indeed, you basically need to either emulate Plan 9 in a VM (incl Inferno) or you need to bring in an entire compat layer just for a ~1MB program.
There used to be an Acme clone called wily in ports but it rotted slightly. However there is a more recent clone you might be interested in called Anvil.
Why? Acme in plan9port is working. No emulation.Indeed, you basically need to either emulate Plan 9 in a VM (incl Inferno) or you need to bring in an entire compat layer just for a ~1MB program.
# ll /usr/local/plan9/bin/acme
-rwxr-xr-x 1 root wheel 412856 Apr 13 2025 /usr/local/plan9/bin/acme*
# ldd /usr/local/plan9/bin/acme
/usr/local/plan9/bin/acme:
libm.so.5 => /lib/libm.so.5 (0x163908c1e000)
libutil.so.9 => /lib/libutil.so.9 (0x163909aba000)
libthr.so.3 => /lib/libthr.so.3 (0x16390a077000)
libc.so.7 => /lib/libc.so.7 (0x16390aa3d000)
[vdso] (0x163908556000)
plan9port is a compat layer as mentioned. Its considerable just to maintain a text editor.Why? Acme in plan9port is working. No emulation.
It is reasonably well maintained now. 51 commits in the past year.I like plan9port but its also not completely maintained. A few years ago I contributed a patch to p9p's rio because it had rotted slightly over the years (Admittedly that is a minor component of it) and it took a long time to be picked up.
Lets hope they keep it up. Unfortunately large compat layers do need the work.It is reasonably well maintained now. 51 commits in the past year.
Usenet! Too lazy to search for it.That said, this discussion about "Vi is awkward" has been done to death. I'm sure the many different arguments can be read from some mailing list archive somewhere.