I prefer to use LaunchBar for launching scripts:
With LaunchBar I don’t need shortcuts. The only thing that LaunchBar understands are Abbreviations. Abbreviations are sequences of letters like
LMGS, and so on.
Compared to keyboard shortcuts, abbreviations have a significant advantage:
You have a huge namespace at your disposal: 26^3 combinations if you limit yourself to three-letter abbreviations, and still 676 two-letter abbreviations. This makes it possible to have really mnemonic abbreviations. With traditional [⌃⌥⇧⌘][a-z]-style shortcuts mnemonics are —at least— difficult.
To make the best use out of it you want to assign a key tap to invoke LB and another key tap to invoke Instant Send to LB. For example I have assigned Single-Shift to invoke LB and Single-Control to invoke Instant Send.
(LB’s default keys are ⌘-Space for LB, and ⌘-Space-hold-down for Instant Send; not so good.)
Let’s say I have a script or an LB Action called “File Lock Toggle”:
So, to lock/unlock a file I select a file in the Finder, I tap the Control key followed by an
F and an
L keystroke and
Return. Done. Four keystrokes, easy to remember, and I don’t have to hold down any keys simultaneously.
If you do this with traditional shortcuts (via Services, FastScripts or Keyboard Maestro) you likely will have at least two modifier keys plus a letter key, something like ⌃⌘L. Admitted, this is one key less for the shortcut method, but mnemonics are more difficult. (Not so much because of the
L but because of the
⌃⌘.). And, with the shortcut method, you have to hold down two keys simultaneously while pressing the letter key, which is a pain if you are not a good touch typist.
In addition: the more scripts you have the more modifier keys you’ll likely have to apply.
I also like running scripts via LaunchBar because…
- it doesn’t matter where the script is: It can be wrapped into a LB Action, or it can be a standalone script, anywhere on your disk (as long as the directory is indexed by LB, of course).
- FastScripts (or Apple’s Scripts menulet) forces you to drag an alias or a link into ~/Library/Scripts/
I don’t have to worry about the right abbreviation: By default LB generates the abbreviation from the “initials” of the script name (like
FLT from “File Lock Toggle” in the above example). If this is not OK, I can always force-apply an arbitrary abbreviation to a script, or I can train LB to understand my preferred abbreviation.
If I’ve forgot the mnemonics of my script, I can always type something like “lock” (referring to the example above) and it will still list my script amongst the top ten hits or so.