新しく開いたウィンドウに現在のディレクトリの*論理*バージョンを表示するようにbashに指示するようにtmuxをどのように取得しますか?

新しく開いたウィンドウに現在のディレクトリの*論理*バージョンを表示するようにbashに指示するようにtmuxをどのように取得しますか?

背景

VirtualBoxでtmux 2.0、Ubuntu 14.04.2 LTSを使用しています。

tmuxが現在のウィンドウと同じパスで新しいウィンドウを開くようにするために、ファイルに~/.tmux.conf次の行を追加しました。

bind c new-window -c "#{pane_current_path}"

cdtmuxから自宅からサブディレクトリに移動した場合シンボリックリンク経由を選択して確認すると、次の結果が得pwdられますpwd -P

~$ cd pythons
~/pythons$               # An awesome prompt

~/pythons$ pwd           # According to "man pwd" this shows the "logical" path
/home/qiime/pythons

~/pythons$ pwd -P        # and this shows the "physical" path
/media/sf_Google_Drive/Home/Programs/Pythons

問題は

開けたら新しいtmux ウィンドウが~/pythons新しい bash プロンプトに表示されます。物理跡:

/media/sf_Google_Drive/Home/Programs/Pythons$     # Not an awesome prompt

尋ねる:はい、そうでした。正しいディレクトリ...しかし、tmuxにbashを起動させる方法はありますか?論理的成熟した道ではない道物理跡?

それとも.bashrcこれを達成するために何かを追加できますか?

編集する:

この問題を引き起こす構成設定があるかどうかを確認するために、以下を除くすべての行を~/.tmux.confコメントアウトしてみました。

bind c new-window -c "#{pane_current_path}"

しかし、私はまだ完全な物理パスを取得します。また、echo私のトップから現在の(論理的)パスを取得しようとしました~/.bashrc。残念ながら、これは新しいウィンドウの物理パスになったように見える親ウィンドウの醜い物理パスを反映しています。そして論理パス。したがって、tmux 2.0はこれを次の方法で新しいbashインスタンスに渡す必要があります。"#{pane_current_path}"

また、最近発生したtmuxの問題を発見しました。Pane_current_pathがPaneのPWD#33と一致しません。この動作が tmux コードで発生することを示します。

尋ねる:もしそうなら、私の質問は「解決策はありますか?」です。

答え1

次は私のために働いた。

~/.bashrc次の行を追加します。

PS1='$([ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD)\u@\H:\w$ '

~/.tmux.conf次の行を追加します。

bind-key c run-shell 'tmux neww "cd $(tmux display -p "\$TMUXPWD_#I"); exec bash"'
bind-key % run-shell 'tmux splitw -h "cd $(tmux display -p "\$TMUXPWD_#I"); exec bash"'
bind-key '"' run-shell 'tmux splitw -v "cd $(tmux display -p "\$TMUXPWD_#I"); exec bash"'

tmuxを再起動してください。

源泉

「現在のウィンドウと同じディレクトリで新しいウィンドウを開くにはどうすればよいですか?」セクションを参照してください。存在するhttp://tmux.svn.sourceforge.net/viewvc/tmux/trunk/FAQ

'\u@\H:\w$ 'bashプロンプト全体を正しく表示するには、.bashrc行の末尾にある文字を上記のリンクの元の文字から変更する必要があります。バラよりhttp://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/bash-prompt-escape-sequences.htmlより多くの情報を知りたいです。

関連情報