Abra varias pestañas en iTerm2 con directorios específicos

Abra varias pestañas en iTerm2 con directorios específicos

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 ~/folderA1y así sucesivamente, pero si hay un comando que puedo configurar o un script que después de ejecutarlo lo harán todos a la vez, me encantaría saberlo. si hay una manera de hacerlo.

Respuesta1

Actualizar:El iTerm más nuevo requiere que cambies 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

Ver tambiénesta respuesta aquí.


Para versiones anteriores de iTerm:

Tomando el guiónde 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 puedas ponerla en tu ~/.bash_profileo donde quieras que se ejecute al inicio.

  • Recorremos el resultado de la expansión de llaves de Bash ~/folderA{1..5}, lo que le permite ~/folderA1pasar ~/folderA5.

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

Respuesta2

itermocilpuede 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

información relacionada