I take a lot of notes (typing), and abbreviate various words along the way. A lot of those abbreviations are standard (e.g., bc for because), but others are very context dependent (e.g., auth could be authorization or authority, depending on context).
I explicitly don’t want these abbreviations to expand while I type (I already have trouble with some TextExpander abbreviations, since I’m often typing faster than they expand). But when I go back over my notes it can be helpful to expand them, especially if I’m summarizing parts of the notes for other people.
I’d love to be able to highlight an abbreviated term, or a block of text with abbreviations, and have an opportunity to select from multiple options. Presumably, I’d have to populate a custom dictionary.
I could probably cobble something together on my own, probably using Popclip, but first I thought I’d see if anyone has any suggestions for off-the-shelf tools, or approaches to accomplish this.
If by context you mean the file you are editing, or application you are using, then you could use Typinator and have different sets of replacements enabled. These would expand as you type, of course. I haven’t used TextExpander, but Typinator is really fast.
If by context you mean paragraphs, then the above wouldn’t work.
To me, real-time expansion would require less effort on your part, as you wouldn’t have to go back through the document, and risk missing an expansion (i.e. that your brain thought you had defined, but you hadn’t).
I tried an autocomplete setup at one time, but it never predicted what I wanted, and the huge number of choices available made it more efficient to just type the words.
For your specific example, just noting you could define authz and authy. I tried things like this too, but it’s too hard to remember the abbreviations that are defined.
Unfortunately, I’ve been doing this long enough, trying to change the way I take notes (which has its roots in handwritten notes) would be more disruptive than manually expanding abbreviations after the fact.
I can’t take the time while typing to remember to use authzinstead of authy etc. So even if Typinator is faster, the multiple possible replacements undermines autocomplete
@tf2 This is an intriguing question. I can see useful applications of the idea but I have never seen any application that can do it out of the box.
Popclip is an interesting thought but I think the challenge you will run into is how to maintain a custom dictionary/database that Popclip can access.
The best way I can think of to do this would be using Apps Script with Google Docs. You cannot modify the right-click menu in Google Docs but you can add a sidebar which could bring up your custom options for a given highlighted word.
But that said- if this project would be something you make use of very regularly, then Lua and Hammerspoon might well be just the toolset for you.
Thanks! Interesting idea. At $15/month just for me and just for this feature, it’s a bit steep, but it would be a great approach otherwise. I bet there are other ways to implement a custom dictionary though…
Quite a bit of scripting but conceptually not complicated if you keep your dictionary sorted.
I don’t know if this is practical, but I think it could work.
I like the approach. I do t use Alfred, but I’ve sketched out an approach using Hammerspoon, which has a built in chooser. I could do it in Keyboard Maestro, but I’ve found Hammerspoon a little faster (and easier to troubleshoot) for simple interactions like this.
I see what you mean now by interactive. If you can’t avoid that with more specific abbreviations, you can implement a custom dictionary for your abbreviations that would display a list of possibilities for each ambiguous abbreviations.
I can’t help thinking that the simplest solution would be to use text expansion as you type. You say it would be too difficult to remember when to use “authy” (which I have actually been using for years as an abbreviation for “authority”) or “authz”. I don’t know what sorts of abbreviations we are talking about here, but if you develop your own system of abbreviations, it soon becomes second nature. For example, words ending in -ize → -z (in my case, chr → character, chrz → characterize), words ending in -ization → -zn, etc. Just a thought.