프로젝트 2

프로젝트 2

iTerm2를 사용합니다. 나는 종종 창을 두 개의 창으로 나누었습니다. 한 디렉터리의 디렉터리를 변경하고 싶을 때 다른 디렉터리의 디렉터리도 자동으로 변경하고 싶습니다. 가능합니까? Tmux 솔루션도 환영받을 것입니다.

답변1

프로젝트 2

탭의 모든 창에 브로드캐스트

command+ option+i

모든 탭의 모든 창에 브로드캐스트

command+ shift+i

노트

켜거나 끄려면 동일한 키 조합을 사용하십시오.

메뉴에서

쉘 > 브로드캐스트 입력

답변2

저는 아직 tmux를 사용해본 적이 없으므로 이 작업을 수행하는 더 좋은 방법이 있을 수 있습니다. 이 답변은 또한 bash 중심입니다. 왜냐하면 이것이 제가 가장 잘 알고 있는 쉘이기 때문입니다. 다른 쉘에도 비슷한 개념이 있고 조정할 수 있다고 확신합니다.

기본 아이디어는 새 쉘 프롬프트가 표시되기 전에 호출할 함수를 설정하는 스크립트를 초기 창 소스에 두는 것입니다. 첫 번째 스크립트의 기능은 현재 디렉터리가 변경될 때마다 TMUX_PWD tmux 변수를 업데이트합니다. 두 번째 스크립트의 기능은 TMUX_PWD 변수를 확인하고 현재 디렉터리가 다른 경우 디렉터리를 변경합니다.

기본 창의 코드:

function prompt_command_primary {
  if [[ "$(tmux showenv TMUX_PWD | cut -d= -f2)" != "$PWD" ]]
  then
    tmux setenv TMUX_PWD "$PWD"
  fi
}

PROMPT_COMMAND='prompt_command_primary'
# initialize it
tmux setenv TMUX_PWD "$PWD"

보조 창 코드:

function prompt_command_mirror {
  if [[ $(tmux showenv TMUX_PWD | cut -d= -f2) != "$PWD" ]]
  then
    cd -- "$(tmux showenv TMUX_PWD | cut -d= -f2)"
  fi
}

PROMPT_COMMAND='prompt_command_mirror'
# initialize ourselves
prompt_command_mirror

내 생각에는 이것이 첫 번째 창을 기반으로 두 번째 창에서 디렉터리를 변경하도록 하는 가장 우아한 방법이라고 생각합니다.

관련 정보