I still use ed every day. Mostly non-interactive use, i.e., "ed scripts". Have not found any "modern" editors that are as small, fast and robust, especially for editing large files.
That requires a graphics layer. It expects the use of a mouse. With few exceptions, I do not require a mouse nor a graphics layer. The only editor that can beat ed for non-interactive editing is sed.
Sam also has a command line only mode, invoked with the '-d' switch ('sam -d filename'). This is just like 'ed', no graphics layer or mouse needed. But the command language is both simpler and more powerful IMO, especially the 'X' command for editing multiple files at once.
Is it possible to run sam without loading a graphics layer? As far as I know one cannot run Plan9 in "VGA text mode". If trying run sam on an OS other than Plan9, does sam require a graphics layer, e.g., X11? Last I checked, it does. If this has changed, I am interested.
I will investigate this. Thank you for setting me straight.
The discussion of this GUI dependency came up years ago on HN and someone who worked at Bell Labs now at Google basically said, in so many words, "sam without the mouse is not sam".
Very interesting, I was not aware of this. I see what he/she meant, but I would add "sam without the mouse is not sam, but it is still superior to ed in many ways". :)
A link to that discussion would be great (if you manage to find it).
I've recently been doing some hobby coding on a Commodore 128 and I'm getting the hang of editing basic programs without being able to edit inline very well.
I use the list command to dump out sections of the program until I find where I want to edit and then add / edit lines whilst I can still see the listing at the top of the screen.
There is a book about Ed by Michael W Lucas. I guess, in the beginning it was supposed to be a bit of a joke, but it became useful for connecting the dots and is read for an afternoon: https://mwl.io/nonfiction/tools#ed
Yes, I read it and liked it. The "joking" eventually gets tiresome, though. Still a helpful book if one wants to grasp the basics of ed in 2020, though.
14 comments
[ 2.9 ms ] story [ 38.2 ms ] threadHomepage: http://sam.cat-v.org/
Paper by Rob Pike: http://doc.cat-v.org/plan_9/4th_edition/papers/sam/
And another paper by Pike on sam's command language (at the core of which are what he calls 'structural regular expressions'): http://doc.cat-v.org/bell_labs/sam_lang_tutorial/sam_tut.pdf
Sam alone, however, can be compiled for command line only, without X11 support under Linux. This has been done in the 9base package:
https://git.suckless.org/9base/file/sam/Makefile.html
https://tools.suckless.org/9base/
There is also an updated Linux version of Sam alone, without any other P9 tools. I suppose this should also be trivial to build without X11 support:
https://github.com/deadpixi/sam/
The discussion of this GUI dependency came up years ago on HN and someone who worked at Bell Labs now at Google basically said, in so many words, "sam without the mouse is not sam".
A link to that discussion would be great (if you manage to find it).
Source: DBA.
I use the list command to dump out sections of the program until I find where I want to edit and then add / edit lines whilst I can still see the listing at the top of the screen.
https://news.ycombinator.com/item?id=4120513
And a cheat sheet linked there:
https://catonmat.net/ftp/ed.text.editor.cheat.sheet.pdf