The vi editor is, or was just ed. All ed commands are vi commands.
Likewise Emacs: originally it was just a bunch of TECO macros plus the “^R mode” (visual) addition to TECO. I frequently used to casually type raw TECO into a mini buffer to perform certain edits (meta-altmode — my hand just made the gesture automatically when I thought about it).
I suspect Bill Joy knew about this when he added visual mode to ed about a decade later.
PS if you haven’t checked out the MIT TECO language you should — it will blow your mind.