0 votos

Asignar la tecla Spotlight para repetir el último comando en Terminal

Lógicamente esto es posible, pero no estoy seguro de que sea técnicamente posible en un Mac. Y no tengo ni idea de por dónde empezar, pero aquí está: Ahora mismo tengo un flujo de trabajo en el que (1) cierro la única pestaña de VS Code que tengo abierta, (2) cierro la única pestaña de mi lector de PDF que tengo abierta, (3) (lo más importante) repito el último comando en el terminal (que abre una nueva pestaña/archivo en cada uno de los dos programas mencionados).

La cuestión es la siguiente: no utilizo la tecla Spotlight. Hay alguna manera de que pudiera asignar la tecla Spotlight para hacer el paso 1, 2 y 3 en un solo clic?

(Si los pasos 1 y 2 no son posibles, automatizar el paso 3 seguiría siendo la parte más valiosa. Si es así, lo importante es que no quiero cambiar de ventana a la terminal - puesto que eso ya constituye 2 del total de 4 pulsaciones de tecla que hago actualmente para repetir el último comando de terminal).

1voto

Jason S Puntos 11

Primero la parte fácil. Puedes cambiar (o eliminar) el atajo de teclado de Spotlight en Ajustes del sistema -> Teclado -> Atajos de teclado -> Spotlight y luego desmarcar una o ambas opciones. Una vez que hayas liberado el atajo puedes reasignarlo a lo que quieras.

Screenshot of Spotlight keyboard shortcut menu

En cuanto a la automatización, ¿ya has construido algo? Shortcuts por sí solo puede hacer mucho, pero Visual Studio Code no se ofrece a Shortcuts por lo que necesitará un poco de AppleScript también. Y ya que estamos haciendo scripts, es más fácil hacerlo todo allí. Si no estás familiarizado con AppleScript, puede parecer desalentador al principio, pero los comandos son sorprendentemente fáciles de leer. Dando tus pasos uno a uno:

  1. Así como no es amigable con Shortcuts, VS Code tampoco es muy amigable con AppleScript, así que las opciones son limitadas. No he visto una forma de cerrar la pestaña abierta, pero puede decirle que salga con " tell application "Visual Studio Code" to quit ". (Unos minutos más de STFWing pueden dar una respuesta mejor).
  2. Al estar integrada, Vista Previa es mucho más fácil de automatizar. tell application "Preview" to close window 1 debe hacer lo que tú quieras.
  3. En la Terminal " !! " volverá a ejecutar el último comando.

Así que, juntando todo eso:

tell application "Preview" to close window 1
tell application "Visual Studio Code" to quit
tell application "Terminal" to do script "!!"

Eso ejecutará tu último comando en una nueva ventana de Terminal, pero también puedes hacer que se ejecute en una ventana de Terminal existente con unas pocas líneas más:

 tell application "Preview" to close window 1
 tell application "Visual Studio Code" to quit
 tell application "System Events"
      tell application process "Terminal"
           set frontmost to true
           keystroke "!!"
           keystroke return
      end tell
 end tell

Los accesos directos pueden ejecutarlo directamente y vincularlo a una tecla de acceso directo. Abre la aplicación de accesos directos y, en el cuadro de búsqueda de la derecha, escribe "AppleScript" y elige "Ejecutar AppleScript".

shortcuts editor, selecting run AppleScript

Siguiente sustitución " (* Your script goes here *) " con el código AppleScript anterior, y dale un nombre. Para vincularlo a un atajo de teclado, haz clic en la "i" encerrada en un círculo en la parte superior derecha, haz clic en "Añadir atajo de teclado" y dale las pulsaciones. Una vez hecho esto, tu atajo estará listo.

Si no funciona, o si he entendido mal lo que buscas, házmelo saber y estaré encantado de publicar una actualización.

shortcuts editor, ready to deploy

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X