我最近决定更改PS1变量,以适应一些漂亮的日晒颜色,以使我的终端观看愉悦。当不在tmux会话中时,一切都很好!彩虹,小马,独角兽和明显的提示!凉!
问题出在tmux之内。我已经验证了PS1的值是我期望的值,并且与tmux未运行时的值相同,即\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]
。
我的.bash_profile中的所有别名等也都按预期运行。tmux还在显示颜色而不会发生意外,echo -ne "\033[1;33m hi"
正如预期的那样gls --color
。
我的.bash_profile中当前相关的行是export PS1="\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]"
,尽管最初我是在.bash_prompt文件中寻找一个脚本来处理一些条件的,等等。我试图恢复到较简单的版本。
执行bash
将导致提示变色,但是必须在每个窗格中完成。export PS1=[that long string I've already posted]
将不会。
我的.tmux.conf如下:
set-option -g default-command "reattach-to-user-namespace -l /usr/local/bin/bash"
set -g default-terminal "xterm-256color"
set-window-option -g automatic-rename on
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
.bash_profile的相关部分:
export TERM="xterm-256color"
if which tmux >/dev/null 2>&1; then
test -z "$TMUX" && (tmux attach || tmux new-session)
fi
我正在使用macOS Sierra(iTerm 2),我已经尝试了bash的当前自制版本和系统bash(当前正在使用自制版本)tmux 2.4。
我还在touch testing_touch_from_bash_profile
带有两个窗格的tmux会话中放置了.bash_profile,杀死了一个窗格,打开了一个窗格并验证了该文件实际上是已创建的。
echo $TERM
返回xterm-256color
。
我已经确保退出tmux来测试设置更改时已经退出tmux,并且当前没有通过tmux进程在系统上运行ps -ax | grep tmux
。
奇怪的是,只要我在每个tmux窗格中进行操作,采购.bash_prompt脚本也会更改颜色。
我看过/programming/21005966/tmux-prompt-not-following-normal-bash-prompt-ps1-w,并尝试在第一行的bash调用后添加--login标志我的.tmux.conf。使用启动tmux tmux new bash
将使第一个窗格着色,但随后的窗格将不着色。
$ PS1变量似乎在所有方面都具有荣誉,除了为任何字段着色。
谁有想法?
PS1
您发布的设置没有任何更改颜色的命令。发布在tmux之外有效的实际设置。另外,您应该PS1
在中设置.bashrc
,而不是中的设置.bash_profile
:.bash_profile
可能根本不会执行,并且以后可能会覆盖设置。