¿Cómo asigno un atajo de teclado a la macro grabada en Sublime Text

43

Tengo un montón de macros que he grabado y guardado en Sublime Text 2. Estoy tratando de asignar atajos de teclado a cada uno de ellos, pero estoy un poco perdido en cuanto a cómo hacerlo,

Eché un vistazo a

pero eso explica cómo establecer enlaces de teclas para comandos existentes.

¿Qué debo configurar para que ejecute una macro?

Sathyajith Bhat
fuente
2
esto se aplica igualmente a ST3 - ¡gracias!
ptim

Respuestas:

61

Para indicar a Sublime Text que ejecute macros, debe pasar "run_macro_file" como parámetro a "command", siendo el argumento el nombre de archivo de la macro.

Primero, simplemente grabar una macro no lo guarda en un archivo, tendrá que guardar la macro en un archivo. Esto se puede hacer haciendo clic en Herramientas → Guardar macro y luego dar un nombre de archivo. Las macros generalmente se guardan en la %appdata%\Sublime Text 2\Packages\Usercarpeta.

A continuación, para asignar el método abreviado de teclado, abra el archivo de Asignaciones de teclas desde Preferencias → Asignaciones de teclas - Usuario.

Ahora, el formato general para una combinación de teclas es el siguiente:

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

Entonces, si desea asignar Ctrl+ Shift+ Xa una macro que se ha guardado como "agregar coma al final", la línea de combinación de teclas se verá así:

[
    { "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "Packages/User/add comma to end.sublime-macro"} }
]
Sathyajith Bhat
fuente
2
Usted restringe el alcance en el cual el acceso directo estará activo context... aquí hay un ejemplo de Emmet: github.com/sergeche/emmet-sublime/blob/master/…
ptim
@ptim ¿Esto implica que puede restringir alguna macro para que solo esté activa, por ejemplo, scripts de Python?
gustafbstrom
1
@gustafbstrom - ¡un poco! sí, pero la restricción está en el enlace de teclas, no en la macro :) docs.sublimetext.info/en/latest/reference/…
ptim
1
todavía funciona con sublime v3. La ruta es relativa, por "Packages/User/my_commands.sublime-macro"lo que funciona. probado en mac.
marlo
Probado en Sublime Text 3 Portable en Windows. Funciona tambien El camino es relativo.
Ifan Iqbal