Abra várias guias no iTerm2 com diretórios específicos

Abra várias guias no iTerm2 com diretórios específicos

Gostaria de saber se isso é possível.

Quero configurar algum script ou comando que abra 5 abas e cada aba que abrir terá seu próprio diretório especificado

Tudo na mesma janela

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

Isso está no iTerm2 no Mac OS X.

Eu sei que posso fazer algo como CMD+T e depois abrir cada um deles usando cd ~/folderA1e assim por diante, mas se houver um comando que eu possa configurar ou um script que depois de executado eles farão isso de uma vez eu adoraria saber se houver uma maneira de fazer isso.

Responder1

Atualizar:O iTerm mais recente exige que você altere a sintaxe, então ficaria assim:

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

Veja tambémessa resposta aqui.


Para versões mais antigas do iTerm:

Pegando o roteiroda minha resposta aqui, você pode fazer algo assim:

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 o que está acontecendo:

  • Criamos uma função shell chamada launch, para que você possa colocá-la no seu ~/.bash_profileou onde quiser que seja executada na inicialização.

  • Fazemos um loop sobre o resultado da expansão da chave Bash ~/folderA{1..5}, que fornece ~/folderA1passagem ~/folderA5.

  • Chamamos a biblioteca iTerm2 AppleScript osascriptpara criar uma nova guia, ativá-la, iniciar a sessão padrão e cdir para o diretório especificado.

Responder2

itermocilpode lidar com isso.

Com o seguinte em um arquivo chamado ~/.itermocil/foo.yml, o comando itermocil fooabriria 5 guias nas pastas especificadas. (Este é um layout muito simples - o itermocil pode fazer muito mais do que isso.)

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

informação relacionada