¿Cómo debo iniciar un nuevo terminal iTerm con acceso directo?

Creé un servicio en Automator y asigné un acceso directo, y funciona.

ingrese la descripción de la imagen aquí

Pero esto no inicia una nueva terminal iTerm. Solo revela el que ya se está ejecutando.

¿Cómo puedo iniciar una nueva "pestaña" o una nueva "ventana iTerm"?

Respuestas (4)

Puede cambiar la acción en su servicio definido por Automator a una acción de AppleScript:

  • Seleccione Biblioteca/Ejecutar AppleScript en la ventana Acciones
  • Agregue el siguiente AppleScript en la Acción creada y guarde:
if application "iTerm" is not running then
    activate application "iTerm"
else
    tell application "iTerm"
        create window with default profile
        activate
    end tell
end if

Esto abre iTerm si no se está ejecutando; de lo contrario, abre una nueva ventana. Consulte la documentación de iTerm para obtener más ejemplos de secuencias de comandos AppleScript para iTerm.

Puede usar el método abreviado de teclado iTerm:

  • Nueva pestaña: Command ⌘+T
  • Nueva ventana: Command ⌘+N
tienes que enfocar la aplicación para eso. la pregunta parece solicitar un acceso directo global, no uno específico de la aplicación.

También puede hacer esto con skhd.

.skhdrc:

ctrl + cmd - t : osascript /Users/user/Library/Scripts/new-iterm-window.scpt

new-iterm-window.scpt:

tell application "iTerm"
    create window with default profile
    activate
end tell

Es un poco más rápido que a través del enfoque estándar de servicios-accesos directos-barra de menú. Funciona literalmente en cualquier aplicación, incluso en una que no tenga un menú de servicios o que tenga ocupado ese atajo en particular, ya que skhd intercepta las teclas primero.

Esta es la única respuesta que me funcionó correctamente, como dijiste, funciona desde cualquier lugar (a diferencia del enfoque de Automator). Además, es mucho más ordenado de configurar, no es necesario pasar por GUI

Puede crear un AppleScript que emule la entrada humana manualmente. En otras palabras, arrastre y suelte AppleScript y fuerce la aplicación para que se convierta en la primera aplicación y luego invoque un clic de menú contextual como si hiciera clic con el mouse. Luego, vuelva a guardarlo como su servicio.

Y un ejemplo, pero no específico para su aplicación, sería:

activate application "ApplicationName"
tell application "System Events"
tell process "ApplicationName"
    keystroke "n" using {command down}
    delay 1
end tell
end tell