How to make great TextExpander snippets (so that you will remember them)
TextExpander is one of my favorite applications. I use it on a daily basis. Every time I work on another computer without my snippets, I feel almost paralyzed.
TextExpander is also one of those applications that you initially think you won’t use much. However, once you start making your first snippets and experience the magic, you'll be hooked. You'll get all kinds of ideas, and after a while, it becomes indispensable.
One challenge that comes with this is accumulating countless snippets, which makes them hard to remember.
Here are a couple of rules I use to define snippets consistently. The idea is simple: if I can't remember a snippet, I type it the way I would define it (i.e., according to my rules). It's easier to remember a few general rules than every single snippet.
Here is my approach. Please feel free to copy it. However, I hope this blog post also inspires you to develop your own rules that fit even better with your workflow.
Doubling the first letter to avoid confusion
The most general rule for me is to double the first letter to make a snippet. Since, most of the words don't start with two of the same letters (beside maybe "aardvark" or Spanish words like "llamar") you can avoid to trigger a snippet without wanting it.
Other people use "." or ";" as a prefix, but this can be an issue if you use TextExpander on your iOS devices, since you would have to switch your keyboard to numbers/symbols to get to the period and semicolon, which is an extra step and defies the whole idea of being faster.
Some people use "x" or "y" to start snippets, which is another clever way.
Examples for my approach:
"cch" will expand to "check out"
"ddate" will expand to the current date in the format "December 4, 2025"
"ddone" will expand to "[✓]"
"wwf" will exand to "waiting for"
Use "w" for web
I define a lot of times shortcuts for links to webpages. This could be my own homepage, a link to our research group homepage, one for a conference or workshop (e.g., one that we organizing), project homepages, links to download code we share, links to download PDFs of our papers, etc.
You can also use it to define snippets for essential links for new students, e.g., where they can find forms or more information they need. By the way, you can make also a nice snippet for an introduction and information email for new students that includes all the necessary links.
Example:
"whel" will expand to "http://www.helmuthauser.com"
"wuob" will expand to "http://www.bristol.ac.uk" – my university webpage
Use "(" to put it into brackets
A lot of times I duplicate snippets, add a "(" in front of the snippet and and let the exanped text be in brackets. For example, "whel" expands to "http://www.helmuthauser.com", but "(whel" I define to expand to "(http://www.helmuthauser.com)". This comes in really handy when writing emails. Here are some other examples
"(sa" expands to "(see attachment)"
"(sb" expands to "(see below)"
"(wwf" expands to “waiting for )"
Tip: The last one ,i.e., "(wwf", I use a lot in Omnifocus. For the snippet I use the cursor position trick, i.e., (waiting for %|). This will move the cursor into the brackets right after "for" and before the closing bracket.
Use "[" for email subject labels
A good subject line in an email so important for good communication. People do really appreciate that and using consitantly good subject lines, will let you stick out from the crowd.
I have written about in more details in my blog post My top TextExpander snippets for emails. The underlying idea is that I define different labels for different projects and categories. Here are some example how this could look like:
"[csoft" expands to "[Conference on Soft Robotics]"
"[rx" expands to "[Report on Project X]"
"[pcrazy" expands to "[Paper on crazy robots]"
Use "h" for my stuff
For any snippet referring to my personal data like address (private, work), telephone numbers, social media, etc. I use the prefix "h" (as in Helmut). You could also use a prefix "p" for private or "my".
Examples:
"htel" expands to my phone number
"hadd" expands to my home address
"htw" expands to my twitter handle
Use lower case and UPPER case
Depending on the context I have to (or I want to) use names starting in upper case. For example, in my work I use terms like "Soft Robotics", "Morphological Computation", etc. However, depending on the context, e.g., in less formal emails, I write them also as "soft robotics"and "morphological computation."
Similarly, I use acronyms of our projects sometimes in upper and sometimes in lower case. While grammatically it is correct to write it with upper case (if it is a real acronym), in emails sometimes it looks like if I would constantly screaming the word.
My solution is to define two different snippets.
Example:
"mmc" expands to "morphological computation"
"MMC" expands to "Morphological Computation"
You could also just make the first letter in upper case for the snippet, but for me it is easier and faster to keep my finger on the shift button.
Make sure that you switch on "Case Sensitive" for your snippet (see screenshot below).
Use "tz" to define time zones
I use the prefix "tz" to define snippets for time zones. I use that mostly to setup meetings in Fantastical, which is capable of understanding time zone related abbreviations and expressions like CET, JST, or GMT-3. However, I have a hard time to remember the exact time differences between my place and people I am collaborating with or their time zone abbreviations. Therefore, I define snippets (starting with "tz") to "translate" places into time zones. For example, "tzboston" translates into "EST" or "tzjapan" into "JST".
I have previously written about that on my blog post How to deal with time zones. I suggested there to use "@" as a prefix. However, if you want to use it on your iOS devices as well, you should changed it to "tz".
Tip: If you have a lot of recurrent online meetings with specific people, for example, with Bob from Boston you can set up a whole TextExpander snippet like "meeting with Bob on %| at EST /work" .
Use "f" for full names and for file naming
This prefix has two uses. This is not the optimal solution, but it has been developed for me historically and so far I have not ran into any problems. First, I use it to abbreviate long, complicated and mostly foreign names and, second, I use it for everything that is related to file naming.
Abbreviation of names: I have written about that in a previous blog on My top TextExpander snippets for emails. For example, you can use "frob" to expand it to the full name "R. Daneel Olivaw".
File naming: Having worked a lot in Linux based systems I am used to avoid spaces in file names. For example, if I want to add a date to a filename I use "fdate", wich expands into the current date into the following format "YYYY_MM_DD_” (e.g., 2025_08_18). Note that if I add a date in a normal text file I would use the "ddate" snippet, which expands in to "month DD, YYYY" (e.g., August 18, 2025).
I use it also the "f prefix for my snippets to name consistently my files in my paperless workflow. This makes it much easier for Hazel to identify the right files to act on them (e.g., to sort them into the right subfolders).
Use "e" for email
I have multiple emails account. One for the job, one for my blog, another for my private communication and a couple of special accounts set up to avoid spam. I have defined for all of them snippets starting with "e".
"ework" email of my work
"epriv" for my private email
"eblog" for my blog email (work.smart.and.be.remarkable@gmail.com)
"espam" or "efake" for extra throwaway accounts if I don’t get my email inbox spammed but an email is required
Use "." for more complex snippets with fill-ins
This goes against my previously mentioned rule not to use a period, since it makes it more complicated to use it on your iOS devices. However, it is reserved for more complex snippets using fill-ins (this is a really nice feature of TextExpander that allows you to fill in information when you expand the snippet) – so I don't use it normally on my iPhone or iPad.
I use these snippets for email templates (starting with "e."). If I have multiple email templates for a specific project I add a prefix to identify it. For example, to invite people to participate in a conference on Soft Robotics ("sr") I would define an invitation email template with a fill-in field for the name of the person. The snippets abbreviation would be then "sr.invite".
I have also used this idea to define email templates to organize a whole e-book ("eb.").
"eb.invite" to invite people to particpate
"eb.review" to communicate the review results
"eb.remind" to send out reminders
etc.
Another use case for me is to write an email response to invitation to review a paper. I use the TextExpander short "e.reject", which allows me to choose from different options (review this paper / contribute and project / Special Issue / Research Topic).
Use "cite" to get formatted citations of publications
If I want to refer to a paper in an email (or during a online meeting via the chat mode) I use TextExpander snippets. The results is a nicely formatted citation that, if available, even includes a download link.
The trick is to format it nicely so it fits with your email default font. For that you will have to make sure you enable the "rich format" for your snippet (see screenshot)
In addition, I always duplicate my citation snippets, start them with "ncite" ("n" indicating its numbered) to have a version of the citation with a fill-in part that allows me to add a number.
The different results of the two versions can be seen in the next screenshot. The first one has been done with the standard "citeMC1" snippet, while the second one has been produced by the "nciteMC1" snippet, where I have chosen 3 for the number.
I have written about that in more detail in a previous blog post called "My top TextExpander snippets for emails".
Use "k" for special keys
I use "k" as prefix for special keys (special letters) like ⌘, ⌃, ⌥ or € and £. In the similar manner I define a snippet called "k3" to get "⌃⌘⌥". You could also use "s" (symbol) as a prefix if that seems more logical to you.
Examples:
"kcmd" will change into "⌘"
"kopt" will change into "⌥"
"keuro" will change into "€"
"kdown" will change into "↓"
"kleft" will change into "←"
Let me know about your tricks in the comments! How do you name your snippets?
Work smart, be remarkable, and have a great day!
Helmut