.tmux.conf file
だから私は.NETの変更を反映するように更新したいと思います。これを私のconfに追加しましたが、残念ながら動作しません。私の新しいウィンドウとウィンドウは常に次から始まります。-c
new-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
セキュリティ上の理由から適切な権限がないため、実行中のプロセスの現在の作業ディレクトリを取得できません(外部ユーザープロセスの重要な状態を読み取れません)。