ここにはかなりの数の答えがあります:https : //unix.stackexchange.com/questions/12032/create-new-window-with-current-directory-in-tmux
要約すれば:
tmux FAQから、1つの鈍角な(しかし、非常に一般的でかなりシェルに依存しない)方法:
- 現在のウィンドウと同じディレクトリに新しいウィンドウを開くにはどうすればよいですか?
1つのオプションは、ウィンドウで「TMUX = tmux」を実行することです。ただし、これはコマンドが実行されていない場合にのみ機能するため、コマンドを入力できます。
回避策は、環境変数を介した現在のパスをtmuxに知らせることです。これを行うには、次のコマンドを使用します。
[ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD
TMUXPWD_i(iは現在のウィンドウの番号)を現在のディレクトリのパスに設定します。このコマンドはPS1に追加できます。次に例を示します。
PS1='$([ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD)\h$ '
新しいウィンドウが作成されると、ディレクトリを変更するようにシェルに要求する必要があります。新しいバインディングを定義できます(たとえば、GNU bashを使用している場合)。
bind-key C-c run-shell 'tmux neww "cd $(tmux display -p "\$TMUXPWD_#I"); exec bash"'
この解決策は、現在ターミナルでコマンドが実行されている場合でも機能しますが、TMUXPWD_iは交換後に更新されないため、別のウィンドウと交換したばかりのウィンドウでは機能しません。ただし、新しいプロンプトが表示されると、TMUXPWD_iは適切に更新されます。
シェルの呼び出しを必要に応じて置き換えるだけです。
また、明らかに新しいバージョンのtmuxでは、コマンドでこれに対処しています
tmux新しいウィンドウ
古いバージョンはこのように機能すると主張されています:
呼び出す
tmux neww
シェルからそのディレクトリでtmuxを開きます。
tmuxの現在の作業ディレクトリから新しいウィンドウまたはペインを開くことができるようにしたい場合は、代わりに次のようにする必要があります。
tmux set-option default-path "$ PWD"