Planning your Keyboard Maestro macros and Text Expander Snippets

Difficulty Level: Advanced

Here’s a tip to take your Keyboard Maestro macros and Text Expander Snippets to the next level of productivity. With all the changes made to OS X and Apple’s programs, I find it best to plan your macros and snippets properly. One never knows what changes will come, so with a little extra work, you can safeguard your work from future changes.

The best solution is to break down your macros and snippets into smaller ones. For example:

Scenario 1:

Here’s an address snippet:

  • Mr. First Last
  • 123 Any Street
  • Anytown, Country
  • Postal Code

Scenario 2:

  • ,,name
  • ,,addressHome
  • ,,CityHome
  • ,,PostalHome

I prefer Scenario 2 because if I ever have to change one line, I can do so by changing the snippet for that specific line rather than having to change the snippet in Scenario 1 and any other snippet that may have that same line. It really comes in handy when you use snippets in many different places.

The same applies to Keyboard Maestro, perhaps more so.

I have macros that apply formatting to text. I give it its own macro and call upon it by using the ‘Trigger Macro by Name’ macro. If, for whatever reason, I need to change the formatting, I can do so from one location rather than every single macro that contains it. This form of compartmentalizing makes changing things so much easier in the long run and will save you many headaches later. Especially when Apple decides to make some smaller changes.

The drawback is you will create a massive list of macros; organizing and finding them later will be a challenge. What I do is have a different Group for these subordinate macros and snippets and name them something like ‘<blank>Helpers’. I use a descriptive name to make finding them later pretty easy.

Try it out. I’m sure it will save you time later. Have fun.


  • fort

    I don’t quite get what you’re doing here (being a TextExpander noob). In scenario 2, is each line a reference to a snippet? Do the bullet points have any significance? Thanks!

    • MacGrease

      fort: in Scenario 2 each line is a snippet. For example, the name is: ,,name . Many people, including myself, put punctuation before a snippet name because you don’t want them triggering while you’re typing text. I prefer the double comma: ,, . When that convention runs out, I use double semi-colon: ;; . You can use whatever you prefer. It’s just the trigger for the snippet to expand. I hope that makes it clearer. As for the bullet points… they have nothing to do with it. It’s only added formatting to make my list appear cleaner on the webpage. (though you could certainly add that to your macro…). Thanks for the question!

      • fort

        That makes sense. Thanks for the quick reply and useful tips!

        • MacGrease

          Anytime! I’m glad you’re finding them useful.