I run a Pokémon fan site and have been creating some tables and reference files recently. Because the game originates in Japan I have to use Japanese words and names using Romaji. In order to efficiently type in the vowels using the macron, I decided to add them to AutoCorrect > Replace. While this works for stand-alone characters, I found it does not work within words. I realize that it is set up that way because the AutoCorrect is intended for correcting words, not individual characters within words.
This may be fine if you are creating the entire work in one language or the other where you can enter individual words that you know are going to be used. But if you are using random words or names from another language you need to be flexible and correct only the single character that needs to be entered. However, you would need to be able to do this without destroying the normal behavior of the AutoCorrect feature.
I think I have a solution though. The backslash is often used as an escape character in regular expressions. So why not use it in AutoCorrect to indicate that it should correct only a single character without following it up with a space? In my case I could enter /-o to indicate that it should be corrected to ō without following it with a space. So that, as I type, N/-o, /-Osagi, and An/-oka would become Nō, Ōsagi, and Anōka respectively. (I made up the last two words on the fly just to give examples).
As with using regular expressions in Find/Replace, the double backslash would be used to automatically indicate a single backslash, if it became a problem. For me this would be a small sacrifice for the convenience of entering custom characters on the fly. Others may not think so though, but I thought I would bring it up anyway.