특정 디렉토리가 있는 iTerm2에서 여러 탭 열기

특정 디렉토리가 있는 iTerm2에서 여러 탭 열기

이것이 가능한지 알고 싶습니다.

5개의 탭을 열고 열리는 각 탭에 자체 디렉터리가 지정되도록 하는 스크립트나 명령을 설정하고 싶습니다.

모두 같은 창에

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

이것은 Mac OS X의 iTerm2에 있습니다.

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.

  • iTerm2 AppleScript 라이브러리를 호출하여 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

관련 정보