Як призначити ярлик клавіатури записаному макросу в Sublime Text


43

У мене є купа макросів, які я записав і зберег у піднесеному тексті 2. Я намагаюся призначити комбінації клавіш для кожного з них, але я якось втратив, як робити це,

Мені було придивитись

але це пояснює, як встановити прив'язки ключів для існуючих команд.

Що потрібно встановити, щоб він запустив макрос?


2
це однаково стосується ST3 - дякую!
птім

Відповіді:


61

Щоб доручити Sublime Text запускати макроси, вам потрібно передати "run_macro_file" як параметр "команді", аргументом є ім'я файлу макросу.

По-перше, просто запис макросу не зберігає його у файл, макрос потрібно зберегти у файл. Це можна зробити, натиснувши на Інструменти → Зберегти макрос і потім вказати ім’я файлу. Макроси, як правило, зберігаються у %appdata%\Sublime Text 2\Packages\Userпапці.

Далі, щоб призначити ярлик клавіатури, відкрийте файл Keybindings з Налаштування → Key Bindings - 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. Працює теж. Шлях відносний.
Іфан Ікбал
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.