Thorsten Zöller

Michael W Lucas: “Ed Mastery”

The average user may not think a lot about which text editor to use. For us, however, the choice of a text editor is a very serious matter.

I’ll admit it: I have always felt a little proud to be a vi(1) user (I even have a dedicated vi page on my website). After having read Ed Mastery by Michael W Lucas, however, I feel somewhat whimpy about it.

Only recently did I stumble across the book, and I was surprised that a book about ed(1) – “the standard Unix text editor” – even exists. Yet, I knew immediately that I would have to read it. The mere existence of a book about ed(1) was enough to convince me that it will be worth it.

And I was not disappointed (not that I had expected that...). Michael W Lucas’ style of writing is hilarious, and first and foremost, it is simply a pleasure to read.

Admittedly, I never really looked past vi(1) in the history of Unix text editors. I roughly new that ex(1) and ed(1) are predecessors of vi(1) and that they are line editors, but they always seemed a bit too peculiar and exotic to me to justify looking into them in more detail (mostly because they are line editors, stemming from a time when monitors were not yet common or even available – one cannot take a line editor seriously these days, can one?). While I always felt that no real progression has taken place in editor development since the advent of vi(1) (which explicitly includes editors like Vim or Neovim), I always implicitly assumed that vi(1) was in fact a progression from ed(1) and ex(1) (reflecting the progression from line printers to monitors for displaying output). After reading Ed Mastery, though, I am not so certain about it anymore. I thought vi(1) was the pinnacle of simplicity, beauty and efficiency, but maybe I was wrong all along.

A while ago, there was a great post titled Your problem with Vim is that you don't grok vi. on Stack Overflow (read it if you haven’t yet!). It basically states that many of the features of Vim that are generally considered improvements over vi(1) (Vi IMproved, you know?), making it more “user friendly”, are in fact feature creep (visual mode? why?) and simply exist because users don’t want to take the time to get really familiar and acquainted with vi(1). It is the antidote to Antoine de Saint-Exupéry’s famous statement “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”[1]

I am wondering if something similar could not be said about ed(1) as well: “Your problem with vi is that you don’t grok ed.”

In any event, after reading Ed Mastery, many known features from vi(1) will make more sense. And even though it is rather unlikely that most users will ditch their editor of choice right away in favor of ed(1) after reading the book, I am convinced that it will improve your editing skills (if you use an editor descending from ed(1), that is – otherwise, all hope is lost anyway).

In summary: Experiencing joy while reading the book and learning profound things along the way: What more could you wish for from a book?

Therefore my recommendation: Get the book, read it and grok ed(1), now!

Note: Peter N. M. Hansteen has already written a great review of the book several years ago, and actually I feel that there is not much I could add to it (apart from my casual ranting you spent the last couple of minutes reading). You should definitely read it as well if you haven’t!


  1. I’ll happily admit that I do use Neovim. Have I ever claimed that I live up to my own standards, after all?