Відкрийте кілька вкладок в iTerm2 з певними каталогами


9

Я хотів би знати, чи можливо це.

Я хочу встановити якийсь скрипт або команду, яка відкриє 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тощо, але якщо є команда, яку я можу створити, або сценарій, що після їх виконання вони зроблять це все відразу, я хотів би знати якщо є спосіб це зробити.

Відповіді:


8

Оновлення: новіший 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вказаний каталог.


1

itermocil може впоратися з цим.

У наступному файлі, який називається ~/.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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.