Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a bunch of macros which I have recorded and saved in Sublime Text 2. I'm trying to assign keyboard shortcuts to each of those, but I'm kind of lost as to how to go about doing this,

I had a look at

but that explains how to set Key bindings for existing commands.

What should I set to have it run a macro?

share|improve this question
this applies equally to ST3 - thanks! – ptim Feb 14 '15 at 0:31
up vote 42 down vote accepted

To instruct Sublime Text to run macros, you need to pass "run_macro_file" as parameter to "command", with argument being the filename of the macro.

First, merely recording a macro doesn't save it to a file, you'll have to save the macro to a file. This can be done by clicking on Tools → Save Macro & then give a filename. Macros are generally saved in %appdata%\Sublime Text 2\Packages\User folder.

Next, to assign the keyboard shortcut, open the Keybindings file from Preferences → Key Bindings - User.

Now, the general format for a keybinding is as below:

{ "keys": [<key sequence>], "command": "run_macro_file", "args": {"file": "Packages/User/<file name>.sublime-macro"} }

So, if you want to assign Ctrl+Shift+X to a macro which has been saved as "add comma to end", the keybinding line will look like so:

    { "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "Packages/User/add comma to end.sublime-macro"} }
share|improve this answer
You restrict the scope in which the shortcut will be active with context.. here's an example from Emmet:… – ptim Feb 14 '15 at 0:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .