Abra múltiples pestañas en iTerm2 con directorios específicos

9

Me gustaría saber si esto es posible.

Quiero configurar algún script o comando que abra 5 pestañas y cada pestaña que se abra tendrá su propio directorio especificado

Todo en la misma ventana

tab 1: open ~/folderA1
tab 2: open ~/folderA2
tab 3: open ~/folderA3
tab 4: open ~/folderA4
tab 5: open ~/folderA5

Esto está en iTerm2 en Mac OS X.

Sé que puedo hacer algo como CMD + T y luego abrir cada uno de ellos usando, cd ~/folderA1etc. si hay una manera de hacerlo

Ali
fuente

Respuestas:

8

Actualización: iTerm más reciente requiere que cambie la sintaxis, por lo que se vería así:

tell application "iTerm"
    tell current window
        create tab with default profile
    end tell
    tell current tab of current window
        set _new_session to last item of sessions
    end tell
    tell _new_session
        select
        write text "cd \"$dir\""
    end tell
end tell

Vea también esta respuesta aquí .


Para versiones anteriores de iTerm:

Tomando el guión de mi respuesta aquí , puedes hacer algo como esto:

launch () {
for dir in ~/folderA{1..5}; do
/usr/bin/osascript <<-EOF
tell application "iTerm"
    make new terminal
    tell the current terminal
        activate current session
        launch session "Default Session"
        tell the last session
            write text "cd \"$dir\""
        end tell
    end tell
end tell
EOF
done
}

Para explicar lo que está pasando:

  • Creamos una función de shell llamada launch, para que pueda ponerla en su ~/.bash_profileo donde quiera que se ejecute al inicio.

  • Nos bucle sobre el resultado de la expansión de llaves Bash ~/folderA{1..5}, que le da ~/folderA1a través ~/folderA5.

  • Llamamos a la biblioteca iTerm2 AppleScript osascriptpara crear una nueva pestaña, activarla, iniciar la sesión predeterminada y cdal directorio especificado.

slhck
fuente
1

itermocil puede manejar esto.

Con lo siguiente en un archivo llamado ~/.itermocil/foo.yml, el comando itermocil fooabriría 5 pestañas en las carpetas especificadas. (Sin embargo, este es un diseño realmente simple: itermocil puede hacer mucho más que esto).

windows:
  - name: 1
    root: ~/folderA1
    layout: even-horizontal
    panes:
      - focus: true
  - name: 2
    root: ~/folderA2
    layout: even-horizontal
    panes:
      - focus: true
  - name: 3
    root: ~/folderA3
    layout: even-horizontal
    panes:
      - focus: true
  - name: 4
    root: ~/folderA4
    layout: even-horizontal
    panes:
      - focus: true
  - name: 5
    root: ~/folderA5
    layout: even-horizontal
    panes:
      - focus: true
Gimboland
fuente