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 ~/folderA1
e 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_profile
ou 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~/folderA1
passagem~/folderA5
.Chamamos a biblioteca iTerm2 AppleScript
osascript
para criar uma nova guia, ativá-la, iniciar a sessão padrão ecd
ir para o diretório especificado.
Responder2
itermocilpode lidar com isso.
Com o seguinte em um arquivo chamado ~/.itermocil/foo.yml
, o comando itermocil foo
abriria 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