Открыть несколько вкладок в iTerm2 с определенными каталогами

Открыть несколько вкладок в iTerm2 с определенными каталогами

Я хотел бы узнать, возможно ли это.

Я хочу создать скрипт или команду, которая откроет 5 вкладок, и для каждой открытой вкладки будет указан свой собственный каталог.

Все в одном окне

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

Это на iTerm2 в Mac OS X.

Я знаю, что могу сделать что-то вроде CMD+T, а затем открыть каждое из них с помощью cd ~/folderA1и так далее, но если есть команда, которую я могу настроить, или скрипт, который после выполнения сделает все это одновременно, я бы хотел узнать, есть ли способ сделать это.

решение1

Обновлять:Для более новой версии iTerm требуется изменить синтаксис, поэтому это будет выглядеть так:

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

Смотрите такжеэтот ответ здесь.


Для более старых версий iTerm:

Взяв сценарийиз моего ответа здесь, вы можете сделать что-то вроде этого:

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
}

Чтобы объяснить, что происходит:

  • Мы создаем функцию оболочки с именем launch, поэтому вы можете поместить ее в свое ~/.bash_profileили любое другое место, где она будет выполняться при запуске.

  • Мы циклически перебираем результат раскрытия скобок Bash ~/folderA{1..5}, что дает ~/folderA1нам ~/folderA5.

  • Мы вызываем библиотеку AppleScript iTerm2 osascriptдля создания новой вкладки, активируем ее, запускаем сеанс по умолчанию и cdпереходим в указанный каталог.

решение2

итермоцилс этим можно справиться.

Если в файле с именем указано следующее ~/.itermocil/foo.yml, команда itermocil fooоткроет 5 вкладок в указанных папках. (Хотя это действительно простая схема — itermocil может делать гораздо больше.)

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

Связанный контент