Новая вкладка в iTerm2

Я использую версию Iterm2 Build 3.0.4 Я хочу создать псевдоним, чтобы открыть новую вкладку из командной строки (в bash) Я попробовал этот код:

    function tab () {
    osascript &>/dev/null <<EOF
activate application "iTerm"
    tell application "System Events" to keystroke "t" using command down
    tell application "iTerm" to tell session -1 of current terminal to write text "pwd"
EOF
}

но это не работает. Кто-нибудь может решить проблему с этой версией (или более новой версией)?

2 ответа

Решение

iTerm2 v3 обладает значительно улучшенной поддержкой AppleScript, поэтому теперь вы можете создавать вкладки напрямую, без необходимости нажатия клавиш:

tab() {
    osascript &>/dev/null <<EOF
      tell application "iTerm"
        activate
        tell current window to set tb to create tab with default profile
        tell current session of current window to write text "pwd"  
      end tell
EOF
}

Чтобы разделить новую вкладку по горизонтали (как вы могли бы получить, нажав addD), добавьте:

tell current session of current window to split horizontally with same profile

Написать pwd на новый сеанс, созданный разделением (нижняя половина новой вкладки):

tab() {
    osascript &>/dev/null <<EOF
      tell application "iTerm"
        activate
        tell current window to set tb to create tab with default profile
        tell current session of current window to set newSplit to split horizontally with same profile
        tell newSplit
          select
          write text "pwd"
        end tell    
      end tell
EOF
}

Чтобы просмотреть доступные команды AppleScript iTerm2, откройте Script Editor.app, Выбрать File > Open Dictionary..., а потом iTerm.app,

Также рассмотрим мой ttab CLI, который упаковывает создание вкладок / окон вместе с расширенными функциями для обоих Terminal.app а также iTerm2.app (но он не поддерживает разбиение вкладки).

      tell application "iTerm"
activate
tell current window to create tab with default profile
tell session of current tab of current window
    select
    write text "pwd"
end tell

конец скажи

Другие вопросы по тегам