プロジェクト2

プロジェクト2

iTerm2を使用してください。私はしばしばウィンドウを2つのウィンドウに分けました。あるディレクトリのディレクトリを変更したい場合は、別のディレクトリのディレクトリも自動的に変更したいと思います。可能ですか? Tmuxソリューションも歓迎されます。

答え1

プロジェクト2

タブのすべてのウィンドウにブロードキャスト

command+ option+i

すべてのタブのすべてのウィンドウにブロードキャスト

command+ shift+i

ノート

オンまたはオフにするには、同じキーの組み合わせを使用します。

メニューから

シェル>ブロードキャスト入力

答え2

私はまだtmuxを使ったことがないので、これを行うより良い方法があるかもしれません。この答えはまたbash中心です。これは私が最もよく知っているシェルだからです。他のシェルにも同様の概念があり、調整できると確信しています。

デフォルトのアイデアは、新しいシェルプロンプトが表示される前に呼び出す関数を設定するスクリプトを初期ウィンドウソースに配置することです。最初のスクリプトの機能は、現在のディレクトリが変更されるたびにTMUX_PWD tmux変数を更新します。 2番目のスクリプトの機能は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

私の考えでは、これが最初のウィンドウに基づいて2番目のウィンドウでディレクトリを変更できるようにする最もエレガントな方法だと思います。

関連情報