특정 디렉토리를 사용하여 iTerm2에서 여러 탭 열기


9

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

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수 있습니다.하지만 설정할 수있는 명령이나 스크립트가 실행되면 한 번에 모두 수행 할 수있는 스크립트가 있으면 알고 싶습니다. 그렇게 할 수있는 방법이 있다면

답변:


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시작시 실행하려는 곳이나 원하는 곳에 넣을 수 있습니다 .

  • 배쉬 중괄호 확장의 결과를 통해 우리는 루프 ~/folderA{1..5}당신을 제공 ~/folderA1을 통해 ~/folderA5.

  • iTerm2 AppleScript 라이브러리를 통해 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.