Jak przypisać skrót klawiaturowy do zarejestrowanego makra w Sublime Text

43

Mam kilka makr, które nagrałem i zapisałem w Sublime Text 2. Próbuję przypisać skróty klawiaturowe do każdego z nich, ale jestem trochę zagubiony, jak to zrobić,

Spojrzałem na

ale to wyjaśnia, jak ustawić Powiązania klawiszy dla istniejących poleceń.

Co powinienem ustawić, aby uruchamiał makro?

Sathyajith Bhat
źródło
2
dotyczy to w równym stopniu ST3 - dzięki!
ptim

Odpowiedzi:

61

Aby poinstruować Sublime Text, aby uruchamiał makra, musisz przekazać „run_macro_file” jako parametr do „command”, gdzie argumentem jest nazwa pliku makra.

Po pierwsze, samo nagranie makra nie zapisuje go w pliku, musisz zapisać makro w pliku. Można to zrobić, klikając Narzędzia → Zapisz makro, a następnie podając nazwę pliku. Makra są zwykle zapisywane w %appdata%\Sublime Text 2\Packages\Userfolderze.

Następnie, aby przypisać skrót klawiaturowy, otwórz plik Powiązania klawiszy w Preferencje → Powiązania klawiszy - Użytkownik.

Teraz ogólny format przypisywania klawiszy jest następujący:

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

Jeśli więc chcesz przypisać Ctrl+ Shift+ Xdo makra, które zostało zapisane jako „dodaj przecinek do końca”, linia klawiszy będzie wyglądać następująco:

[
    { "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "Packages/User/add comma to end.sublime-macro"} }
]
Sathyajith Bhat
źródło
2
Ograniczasz zakres, w którym skrót będzie aktywny context. Oto przykład z Emmeta: github.com/sergeche/emmet-sublime/blob/master/…
ptim
@ptim Czy to oznacza, że ​​możesz ograniczyć niektóre makra, aby były aktywne tylko dla np. skryptów Python?
gustafbstrom
1
@gustafbstrom - kinda! tak, ale ograniczenie dotyczy tak naprawdę przypisania
ptim
1
nadal działa z sublime v3. Ścieżka jest względna, więc "Packages/User/my_commands.sublime-macro"działa. testowany na Mac.
marlo
Testowany na Sublime Text 3 Portable w systemie Windows. Działa też. Ścieżka jest względna.
Ifan Iqbal