I need a way to replace an on-screen pattern with another string, regardless of what places that text on the screen. Maybe I can live without user input being replaced, but anything that comes from the stdout, stderr of any process - background or foreground, and even prompt strings need to be subject to replacement.
An example of one of the applications (though, this one doesn't affect the prompt, but I have other needs there):
I want to replace all series of digits w/ themselves, selectively underlined, so I turn 1234567890.1234567890 into 1̲2345̲6̲7̲890.1̲2̲3̲4567̲8̲9̲0. I've already aliased ls to do this, as well as a number of other commands that display long numbers, but I've come to like it so much that I want it global.