我在我的Mac上做了一些更新,似乎打破了我的一些设置.我的.bash_profile中有以下设置
导出PS1 ="\ W $"
这在我的普通bash会话中工作,只显示当前目录而不是整个路径.但是,当我切换到tmux时,它再次显示整个路径.bash配置文件中PS1的其他更改(如颜色或其他字符)工作正常,并反映在tmux中.我已经清空了我的.tmux.conf,看看是否会导致冲突,但这种行为没有变化.
我确实在系统上创建了一个新用户并尝试了相同的PS1,它在普通会话和tmux中都运行良好.
我很困惑,因为我知道我有它的工作,无法弄清楚更新中会有什么变化.除了.bash_profile和.tmux.conf之外的哪些文件可以在这里播放?有没有办法告诉tmux从哪里拉出它的设置?
附加信息:iTerm2和Terminal Tmux 1.8版Mac OSX 10.9.1中的行为相同
小智 26
这个对我有用:在tmux/terminal中:
tmux set-option -g default-command bash
Run Code Online (Sandbox Code Playgroud)
或者简单地说~/.tmux.conf:
set-option -g default-command bash
Run Code Online (Sandbox Code Playgroud)
小智 12
在您的 ~/.tmux.conf 中添加以下内容
set -g default-terminal "tmux-256color"
Run Code Online (Sandbox Code Playgroud)
来自心爱的ArchWiki tmux
我有类似的问题.如果我总是在应用bash命令的情况下启动tmux,我会得到正确的结果,如下所示:
tmux new bash
Run Code Online (Sandbox Code Playgroud)
所以,为了简化这一点,我刚刚在〜/ .bash_aliases文件中创建了一个别名,我一直在使用它:
alias tn='tmux new bash'
Run Code Online (Sandbox Code Playgroud)
这只适用于第一个窗口.创建新窗口时,必须通过bash在终端中执行再次启动bash .
将以下行添加到~/.tmux.conf:
set -g default-terminal "screen-256color"
Run Code Online (Sandbox Code Playgroud)
不要忘记保存~/.tmux.conf并重新启动tmux以使更改生效。
Cod*_*256 -5
将以下内容添加到您的.tmux.conf:
new -n WindowName bash --login
Run Code Online (Sandbox Code Playgroud)
您可以将WindowName第一个窗口替换为您想要的任何名称。当bash以这种方式调用时,它会获取您的.bash_profile、.bash_rc、.profile等,这是您更改$PS1.