Tmux 構成は、新しいウィンドウまたはウィンドウ分割で PWD を維持しません。

Tmux 構成は、新しいウィンドウまたはウィンドウ分割で PWD を維持しません。

.tmux.conf fileだから私は.NETの変更を反映するように更新したいと思います。これを私のconfに追加しましたが、残念ながら動作しません。私の新しいウィンドウとウィンドウは常に次から始まります。-cnew-window~/

# Saner splitting.
bind v split-window -c $PWD -h
bind s split-window -c $PWD -v

# Autorename sanely.
setw -g automatic-rename on

# Better name management
bind c new-window -c $PWD

私が期待する動作は、新しいウィンドウまたはウィンドウが以前にあったウィンドウのディレクトリにあることです。したがって、私がウィンドウ1にいる場合、~/Sites/project新しいウィンドウもそこにあります。

ベストアンサー1

無効な例を使用しました。 ;)$PWD引数は、-c新しく作成されたウィンドウがディレクトリから始まるという意味です。tmuxサーバーはつまり最初に始まるディレクトリですtmux。現在のディレクトリ窓ガラスtmux内部変数に保存されます#{pane_current_path}

* 'default-path' has been removed.  The new-window command accepts '-c' to
  cater for this.  The previous value of "." can be replaced with: 'neww -c
  $PWD', the previous value of '' which meant current path of the pane can
  be specified as:  'neww -c "#{pane_current_path}"'

したがって、必要なものを実行する正しい方法は、

# Saner splitting.
bind v split-window -c "#{pane_current_path}" -h
bind s split-window -c "#{pane_current_path}" -v

# Autorename sanely.
setw -g automatic-rename on

# Better name management
bind c new-window -c "#{pane_current_path}"

メモ:これはいいえsudo現在のウィンドウで他の人のシェルが実行されている場合(これは混乱しているため明示的に説明します)、1つの実行中またはセッションがある場合、新しいsuウィンドウは1つで終わります/。説明しやすいです。tmuxセキュリティ上の理由から適切な権限がないため、実行中のプロセスの現在の作業ディレクトリを取得できません(外部ユーザープロセスの重要な状態を読み取れません)。

おすすめ記事