Как назначить сочетание клавиш для записанного макроса в Sublime Text

43

У меня есть куча макросов, которые я записал и сохранил в Sublime Text 2. Я пытаюсь назначить сочетания клавиш для каждого из них, но я немного растерялся относительно того, как это сделать,

Я посмотрел на

но это объясняет, как установить привязки клавиш для существующих команд.

Что я должен установить для запуска макроса?

Сатьяджит Бхат
источник
2
это в равной степени относится и к ST3 - спасибо!
Птим

Ответы:

61

Чтобы указать Sublime Text запускать макросы, вам нужно передать «run_macro_file» в качестве параметра «command», а аргумент - это имя файла макроса.

Во-первых, простая запись макроса не сохраняет его в файл, вам придется сохранить макрос в файл. Это можно сделать, нажав Инструменты → Сохранить макрос и затем дать имя файла. Макросы обычно сохраняются в %appdata%\Sublime Text 2\Packages\Userпапке.

Затем, чтобы назначить сочетание клавиш, откройте файл «Привязки клавиш» в меню «Настройки» → «Привязки клавиш» - «Пользователь».

Теперь общий формат для связывания клавиш такой:

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

Итак, если вы хотите назначить Ctrl+ Shift+ Xмакросу, который был сохранен как «добавить запятую в конец», строка привязки клавиш будет выглядеть так:

[
    { "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "Packages/User/add comma to end.sublime-macro"} }
]
Сатьяджит Бхат
источник
2
Вы ограничиваете область действия ярлыка с помощью context... вот пример от Emmet: github.com/sergeche/emmet-sublime/blob/master/…
ptim
@ptim Означает ли это, что вы можете ограничить некоторые макросы активными только, например, для скриптов Python?
gustafbstrom
1
@gustafbstrom - вроде! да, но на самом деле ограничение связано с привязкой ключа, а не с макросом :) docs.sublimetext.info/en/latest/reference/…
ptim
1
до сих пор работает с возвышенным v3. Путь относительный, поэтому "Packages/User/my_commands.sublime-macro"работает. проверено на Mac.
Марло
Протестировано на Sublime Text 3 Portable для Windows. Тоже работает Путь относительный.
Ифан Икбал