For those who do not know.

Before there was vi there were ed (the line editor) and sed (the stream
editor).

In the days of paper terminals ed was the ultimate interactive text
editor, you could (in theory) write your thesis using it. I'm sure
someone did, because college students are That Way (that, and you could
save a backup copy and pay someone with a nice typewriter and decent
typing speed to make it pretty for you if you had more money than most
college students).

sed was (and perhaps still is) the ultimate non-interactive text editor.
You feed it a script (on the command line or in a file), and a stream or
file of text and it outputs the text as modified by the script. There
are those who would swear by awk or even perl for this menial task, but
sed does many things gracefully and efficiently with much less of a load
on your poor beleaguered CPU and memory.

And finally, in the fullness of time and the wide deployment of glass
tty's to computer labs, we gained access to vi. My first response to it
was "cool! It runs just like ed but I get to see 23 lines at a time!
Ooooooh!", then as I used it I discovered that it had it's own command
set that gave capabilities that just didn't make sense in ed or sed.

ed lives on, though to my knowledge nobody uses it outside of vi colon mode.

sed is in moderately wide use in batch processing applications still,
especially for minor data format conversions or weird command line scripts.

vi (especially as vim) is a living project, competitive with any other
editor, and nearly an IDE in it's own right when invoked as gvim.

Why did I go to all this trouble?

Since ed and sed still live in vi as part of colon mode, learning their
command set can greatly enhance what you can do with vi, as well as
giving you tools to use in XTreme Sysadmin! situations.

That, and I was just really in the mood to write this morning...

-- 
Dan