My ed(1) Toolbox By Artyom Bologov Artyom Bologov is a dedicated fan of the classic UNIX text editor ed(1). He uses it extensively, including as his Git editor, sudo editing tool, and even for generating his static site. However, he often customizes and extends ed to better fit his workflows. This page presents his collection of ed-related scripts and alternative implementations. --- GNU ed + red — Eternal Classics GNU ed is the standard, well-tested, POSIX-compliant text editor available on most UNIX/POSIX systems. Despite some Linux distros not installing it by default, it remains a reliable editing tool. red(1) is the "restricted" version of ed(1) locking edits to the current directory and disabling shell access. Artyom finds red(1) less useful personally but considers it a nice to have for secure environments. --- oed — OpenBSD ed GNU ed diverges from POSIX in various ways such as: Additional CLI flags Support for wq command Use of POSIX Extended Regular Expressions (EREs), which harms portability Artyom prefers portability for his scripts and switched to OpenBSD ed (oed) from a GitHub repository to ensure better POSIX compliance. Replacing ed with oed increases script portability with minimal effort. --- wed — ed wImproved Artyom requested the GNU ed maintainers to add scripting abilities (like sed’s -e and -f flags), but they declined to keep POSIX compatibility. A community member recommended slewsys ed, a modern ed implementation supporting scripting. Artyom installed it as wed(1) to differentiate it from GNU ed. Although he rarely uses it himself, wed offers a user-friendly, modernized ed experience for new users wanting some extra features without leaving tradition. --- aed — Blasphemy Against Minimalism To make ed more approachable and modern, Artyom created aed(1). It leverages Readline and shell scripts for enhanced interactivity, including: Syntax highlighting Inline-editable inputs Intended for users who already know basic ed (or wed) and want to accelerate workflows with a friendlier interface. Artyom admits it might be an over-engineered approach but useful nonetheless. --- xed — You Don’t Need sed Although aed and wed improve interactive usage, scripting with plain ed remains verbose compared to sed. Artyom wrote xed(1), a small script wrapper that simplifies writing ed scripts, making them close to one-liner scripts similar to sed. With xed, many common sed use-cases can be done in a more succinct way. --- sed and ex... No. Artyom argues against needing sed(1) or ex(1): He believes ex(1) is vi-oriented and incompatible with standard ed commands. Promised extensions for ed via ex ended up confusing and not aligned with the original ed. He advocates embracing pure ed as the canonical, pure, and minimalist editor. --- Artyom’s Own ed Implementations Fascinated by ed, Artyom implemented versions of it in esoteric languages: Brainfuck (GitHub) BASIC (GitHub) Modal (term-rewriting system) (GitHub) These are mostly experimental and don’t compete with the standard ed but showcase the power of the editor’s design. --- Use ed(1) Artyom encourages everyone to pick their favorite ed flavor (he recommends aed) and love this classic editor. Related resource: ed-museum for more historical context. --- Contact & Feedback Artyom invites feedback via email form on the page, welcoming thoughts and discussions about his ed toolkit. --- Footer Notes The page is designed to last and generated using ed(1) itself. Alternative formats (.txt, .gmi, .7 (man), .tex) are