@sicp @p But at some point, by the time of V6, ed allowed you to not rewrite a whole line.
Like ignoring positioning details, to change the type of b, you could do:
s/char/int/Which in this case is more characters to type, but that gives you the idea. The pattern "/char/" can then be used again without typing it all, just "//"
You could also find a line with /[search pattern]/ and that saves the pattern to then do a substitution, or another search.
There can be issues of picking the unique set of characters, but at least the anchoring '^" and '$' beginning and ending of the line worked.
I can't remember when full regular expressions were added to the pattern, ex has them today, but they weren't something I delved into when I was exclusively using ed on V6 and V7, at least for a while in the latter. But I expect these sorts of things to have been added as soon as they were thought of, K&R and company having a very direct interest in editing efficiency.
As quickly as possible I installed an ersatz Emacs on that V7 system, but ed/ex are still handy to get around terminal issues and for quick changes, especially if you've got it wired into your brain. And no surprises like fucking nano having a default of breaking lines at 80 characters or whatever :cirnoForReals: