2014-01-08 148 views
10

我在我的Mac上做了一些更新,似乎破坏了我的一些设置。我有以下的在我的.bash_profile设置Tmux提示符不正常的bash提示符PS1 W

出口PS1 =“\ W $”

这是我正常的bash会话工作只显示当前目录,而不是整个 路径。但是,当我切换到tmux时,它会再次显示整个路径。对bash配置文件中PS1的其他更改(如颜色或其他字符)可以正常工作,并反映在tmux中。我清空了我的.tmux.conf文件,看看是否会导致冲突,但是这种行为没有改变。

我确实在系统上创建了一个新用户,并尝试了相同的PS1,并且它在普通会话和tmux中都完美工作。

我很困惑,因为我知道我有它的工作,并不知道什么会在更新中发生变化。除了.bash_profile和.tmux.conf之外,还有哪些文件可以在这里播放?有没有办法告诉tmux从哪里拉它的设置?

附加信息: 此行为是在这两个iTerm2和终端 TMUX版相同的1.8 的Mac OSX 10.9.1

+0

'tmux'可能正在创建非登录shell,在这种情况下,'.bashrc'将被取代。 – chepner

+0

我不认为是这种情况,因为我的.bash_profile中的其他别名已经转化为tmux,并且我对PS1所做的任何其他更改都反映在tmux中,但\ W变量似乎并不想表现出来一般。 – Paige

+0

一旦你在tmux中,什么是$ PS1设置? – graywh

回答

1

以下内容添加到您的.tmux.conf

new -n WindowName bash --login 

您可以替换WindowName与任何你想要的第一个窗口被命名。当bash这种方式调用时,它来源于您的.bash_profile.bash_rc,.profile等,这是您更改您的$PS1

+0

这不适合我,我的解决方案是在下一个答案。 – srk

1

我有同样的问题,经过一番研究,我已经添加下面的命令来我~/.tmux.conf

set-option -g default-command "reattach-to-user-namespace -l /opt/local/bin/bash --login" 

我使用OSX 10.9.5与iTerm2构建2.0.0.20141103,庆典30年3月4日(1 ) - 释放,tmux 1.9a。 Bash和tmux来自macports。

+0

这适用于我们已经使用set-option的情况。 – RaviU

7

我有类似的问题。我得到正确的结果,如果我始终应用开始TMUX与bash命令,就像这样:

tmux new bash 

所以,为了简化这个,我只是在我的〜/ .bash_aliases文件,我使用所有创建的别名时间:

alias tn='tmux new bash' 

虽然这只适用于第一个窗口。在创建新窗口时,必须通过在终端中执行bash来再次启动bash。

+0

竖起大拇指的男人..接受的答案也没有为我工作。 –

11

这一次为我的作品: 在TMUX /终端:

tmux set-option -g default-command bash 

或者干脆投入~/.tmux.conf

set-option -g default-command bash 
0

当使用TMUX与屏风,你可以尝试byobu-prompt命令。它会问你是否想要bash颜色提示。在回答是后,提示将更改为通常的用户@主机。