새로 열린 창에 현재 디렉터리의 *논리적* 버전을 표시하도록 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내 top 에서 현재(논리적) 경로를 가져오려고 했습니다 ~/.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더 많은 정보를 알고 싶습니다.

관련 정보