For some reason I always mistype "?" with ">". Some deep grained muscle memory - odd I know.
What I want to do is replace ">" if it has text immediately to the left but to leave it alone if not.
So "What do you think>" Would be "What do you think" but it would not swap "what > do you > think" due to the spaces.
Is that possible?
Sure. Try this. If you type a space before the >, you get the > but if you type a character before it, you get a question mark. Depending on your text, the regexp could use some refinement.
This is how autocorrection works in general. The error triggers the correction.
Keyboard Maestro 8.2.4 “cx: > for ?” Macro
cx- > for ?.kmmacros (1.7 KB)
1 Like
That worked!
Is there any way to add exceptions? i.e. do this always unless charter to the left is "-" or
"<".
Thanks!
Yep, that would be the "refinement" I mentioned. Try changing the \S>
to \b>
to 1) avoid deleting the first of the two characters and 2) using '>' after a hyphen.
Use a negative look-behind assertion
Something like:
(?<=[a-zA-Z0-9])>
That means: match > unless the immediate preceding character (which is not included in the match) is a letter or digit.
2 Likes
Very grateful for the help thanks!