The Notation I Use to Manage My Macros

I have over 1,000 macros I use, maybe more. One thing I learned over the time is that some macros require something as input or they require to be in some state before being activated.

For example you can have this macro:

Make markdown link from selection {link}.kmmacros (20.0 KB)

That requires that I have a link in my clipboard prior to activating it. I say that I need a link inbetween {} brackets. If a link can be of some type. Like a GitHub link I say the type in between {} like so:

Aside from {}, I use [] to indicate the state that the macro requires before activation. Example of this can be seen here. Where I say [select macro] in the end of macro name.

This especially helps when activating macros from Alfred Maestro that allows me to search macros and activate them from Alfred launcher. I believe there should be something similar in Launchbar.

Here is how that looks:

I also use @ symbol to indicate TODO actions. I may have a macro like this:

And then I can instantly search for macros that need things done:

I also use @fix instead of @todo or sometimes say what exactly needs to be done.

This helps me greatly in managing my macro library.

And finally I use prefixes to associate the macros with a context or scope. I have all my general global running macros prefixed with a: like so:

Or I can have a prefix write: to indicate that these macros will open a file in my writing app:

There are many other prefixes I use but the biggest benefit they bring is that when searching with Alfred for macros I can instantly see which macros are local to the app I am in and which are global since the macros local to the app will have no prefix. Searching in Alfred from Safari I get this:

I can then instantly see that Search Google macro only works inside Safari and macros prefixed with a: are global whilst w: macros will open websites which is a huge macro group filled with @ccstone macros to open websites or switch to active tabs of websites. Thank you very much @ccstone for sharing it.

tl;dr
{} = What should be in my clipboard before activating macro.
[] = What state should the macro be in.
@ = Actionable TODOs.
Prefixes = Helps to manage macros by their scope or theme.

I hope this helps someone as it helped me a lot. I am curious if anyone has a similar system they use to manage their macros. I am all ears. :purple_heart:

12 Likes

Hi @nikivi!

I tried to install your macros library but after double-clinking on the .kmsync file besides Keyboard Maestro being activated, nothing seems to happen.

Am I doing something wrong?

Check here

https://wiki.nikitavoloboev.xyz/macOS/apps/keyboard-maestro/km-macros

1 Like

And if you meant that you got the file from there, I'm not sure what's wrong perhaps @peternlewis knows as I am just sharing my .kmsync file so anyone can download all the macros I use. Perhaps that's not the way to do it.

Ideally I wish there was a way to share all KM macros but exclude certain folders from being exported. But that is a feature request to @peternlewis

Be very careful! This will overwrite ALL of your macros, as @nikivi says:

Be aware that it will overwrite your existing macros so back those up beforehand!

Don't share your kmsync file, that is not what it is for.

Select all the macros you want to share (select all of them if desired, but it probably makes sense to exclude any default macros), and then choose File ➤ Export Macros and share the kmmacros file.

Select all the macro groups you want to share and then use File ➤ Export Macros.

Or if you want to do this ongoing, create a Smart Group, and have it exclude the desired macro groups (eg “-group:"Group 1" -group:"Group 2"”), then select that group, and then all the macros in that group and export them.

3 Likes

@nikivi I luckily did export my macros before importing yours (found a lot of gems).

Hey @nikivi Thanks for sharing your notation scheme. It's good food for thought!

Also, I'd like to peruse your collection and would rather not overwrite my existing macros as I'm not sure how they would be reimported and if anything might be lost or changed by the import or if I'll end up with a lot of sorting out to do.

While it may be a big ask, would you re-export as Peter is suggesting into logical groups or maybe if there's a way, export an "index" by copy/paste a "select all" of your Groups list like this which is a screenshot of my list pasted into a three column Pages doc. if you think the resulting list would make enough sense to share.

2 Likes

Wow, that’s (almost) like sharing an image of your startup volume and inviting people to clone it to their startup disk :star_struck: :wink:

1 Like

https://wiki.nikitavoloboev.xyz/macOS/apps/keyboard-maestro/km-macros

Now contains the .kmmacros macro file instead of sync file from a smart group as @peternlewis

Hopefully this doesn't overwrite anyone's macros. I removed the warning. Let me know if I am wrong.

And here is a paste of all the groups I have in KM:

All Macros
Created Last Week
Enabled Macros
Modified last week
Shared Macros/Groups
1Password 7
2Do
Activity Monitor
Actual
Alfred preferences
Alfred Preferences
App store
Bee
BetterTouchTool
Books
c: Open websites (Chrome)
Console
Contacts
DaisyDisk
Dash
Dates
Day One
Dictionary
Discord
edit: Files
edit: Lists
edit: Wiki
Emojis
Fantastical 2
Finder
Firefox Developer Edition
Flume
g: Text manipulation
Global Macro Group
go: Insert
Google Chrome
Google Chrome Canary
iTerm
iTunes
js: Insert
Karabiner switch profiles
Karabiner-Elements
Keyboard Maestro
KM: Favorite actions and macros
Little Snitch Configuration
Little Snitch Network Monitor
Magic Number 2
MindNode
Name Mangler
Notion
open: Applications
Pages
Paprika Recipe Manager 3
Paste text
Paw
PDF Expert
Personal
Photos
Pixave
Postico
proj: Open projects
Questions
QuickTime Player
Reeder
Responses
s: Scheduled
Safari
Safari (bookmarklets + actions)
Safari Technology Preview
ScreenFlow
Script Debugger
Script Editor
Simulator
Sketch
Slack
SnippetsLab
Sonic Pi
Soulver
Spark
Spotify
Spotlight search prompt
Sub macros
Sublime Text
Sublime Text (specialised text + wiki)
System Preferences
TaskPaper
Telegram
Temp
Test
test: Code
Textual
tf: Sublime Text (Insert text)
Timing
todo: Create
Tower
Transmission
Transmit
Trello
Tweetbot
Typinator
UlyssesMac
Unicode symbols
Visual Studio Code
w: Open websites (Safari)
Xcode

Some of the groups are less used than others. I need to do a cleanup.