vi is of course just a visual interface to ed, so they have the same commands, based on Multics qed.<p>I don't know about GNU Emacs, but the original Emacs (in TECO) had a "slow terminal" mode that did minimal updating, and a "printing terminal" mode that really just kept you up to date on what was going on around the cursor. It worked fine in a pinch. If I didn't want that I just used TECO, which his like using ed only more compact and of course programmable.<p>Speaking of slow terminal mode: the SUPDUP protocol (an early visual remote terminal protocol) had specific support for Emacs in it, so you could edit over the arpanet and get pretty good response. It repainted and managed the screen somewhat locally (like a channel controller but full duplex). It was handy even when the arpanet backbone was upgraded to a 56K line. I also used it from a KL-20 in Paris -> weird X.25 network -> MIT-Multics -> MIT-AI in the early pre-TCP 80s and it was bearable...just. SUPDUP made a huge positive difference.<p>(SUPDUP because it was a super duper protocol)