Come posso assegnare una scorciatoia da tastiera alla macro registrata in Sublime Text


43

Ho un sacco di macro che ho registrato e salvato in Sublime Text 2. Sto provando ad assegnare scorciatoie da tastiera a ognuna di queste, ma mi sento un po 'perso su come procedere,

Ho dato un'occhiata

ma questo spiega come impostare i collegamenti dei tasti per i comandi esistenti.

Cosa devo impostare per far funzionare una macro?


2
questo vale anche per ST3 - grazie!
ptim,

Risposte:


61

Per indicare a Sublime Text di eseguire macro, è necessario passare "run_macro_file" come parametro a "command", con argomento come nome file della macro.

Innanzitutto, la semplice registrazione di una macro non la salva in un file, dovrai salvare la macro in un file. Questo può essere fatto facendo clic su Strumenti → Salva macro e quindi assegnando un nome file. Le macro vengono generalmente salvate nella %appdata%\Sublime Text 2\Packages\Usercartella.

Quindi, per assegnare la scorciatoia da tastiera, apri il file Keybindings da Preferenze → Key Bindings - User.

Ora, il formato generale per un keybinding è il seguente:

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

Pertanto, se si desidera assegnare Ctrl+ Shift+ Xa una macro che è stata salvata come "aggiungi virgola alla fine", la riga di associazione dei tasti avrà il seguente aspetto:

[
    { "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "Packages/User/add comma to end.sublime-macro"} }
]

2
Limiti l'ambito in cui sarà attivo il collegamento con context... ecco un esempio di Emmet: github.com/sergeche/emmet-sublime/blob/master/…
ptim

@ptim Questo implica che è possibile limitare alcune macro per essere attive solo, ad esempio, per gli script Python?
gustafbstrom,

1
@gustafbstrom - kinda! sì, ma la restrizione è in realtà sull'associazione dei tasti, non sulla macro :) docs.sublimetext.info/en/latest/reference/…
ptim

1
funziona ancora con sublime v3. Il percorso è relativo, quindi "Packages/User/my_commands.sublime-macro"funziona. testato su mac.
marlo,

Testato su Sublime Text 3 Portable su Windows. Funziona anche tu. Il percorso è relativo.
Ifan Iqbal,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.