Comment attribuer un raccourci clavier à une macro enregistrée dans Sublime Text

43

J'ai un tas de macros que j'ai enregistrées et sauvegardées dans Sublime Text 2. J'essaie d'attribuer des raccourcis clavier à chacun de ceux-ci, mais je suis un peu perdue quant à la façon de procéder,

J'ai regardé

mais cela explique comment définir les raccourcis clavier pour les commandes existantes.

Que dois-je définir pour qu'il exécute une macro?

Sathyajith Bhat
la source
2
cela s'applique également à ST3 - merci!
ptim

Réponses:

61

Pour que Sublime Text exécute des macros, vous devez passer "run_macro_file" en tant que paramètre pour "commande", l'argument étant le nom de fichier de la macro.

Premièrement, enregistrer une macro ne l'enregistre pas dans un fichier, vous devez l'enregistrer dans un fichier. Cela peut être fait en cliquant sur Outils → Enregistrer la macro et ensuite donner un nom de fichier. Les macros sont généralement enregistrées dans un %appdata%\Sublime Text 2\Packages\Userdossier.

Ensuite, pour attribuer le raccourci clavier, ouvrez le fichier Liaisons de clés dans Préférences → raccourcis clavier - Utilisateur.

Maintenant, le format général pour un raccourci clavier est le suivant:

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

Donc, si vous voulez attribuer Ctrl+ Shift+ Xà une macro qui a été enregistrée sous "Ajouter une virgule à la fin", la ligne de reliure au clavier ressemblera à ceci:

[
    { "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "Packages/User/add comma to end.sublime-macro"} }
]
Sathyajith Bhat
la source
2
Vous limitez la portée dans laquelle le raccourci sera actif context. Voici un exemple de Emmet: github.com/sergeche/emmet-sublime/blob/master/…
ptim
@ptim Cela signifie-t-il que vous pouvez limiter certaines macros à n'être actives que pour, par exemple, les scripts Python?
Gustafbstrom
1
@gustafbstrom - un peu! oui, mais la restriction concerne en fait la liaison de clé, pas la macro :) docs.sublimetext.info/en/latest/reference/…
ptim
1
fonctionne toujours avec sublime v3. Le chemin est relatif, donc "Packages/User/my_commands.sublime-macro"travaille. testé sur mac.
marlo
Testé sur Sublime Text 3 Portable sous Windows. Fonctionne aussi. Le chemin est relatif.
Ifan Iqbal