答案1
我假设 shell 是 Bash。
在 Ubuntu 中,骨架(默认).bashrc
包含此或类似的代码片段:
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
稍后根据文件PS1
的值进行设置$color_prompt
,您会得到一个有色或无色的提示。
您~/.bashrc
开始使用骨架副本,它仍然包含片段(除非您将其编辑掉;但您可能没有)。
最有可能的是,在 tmux 中您的$TERM
istmux
或tmux-256color
.tmux-256color
会被代码片段检测到,并且不会有问题,所以显然在您的情况下该值是tmux
(echo "$TERM"
在 tmux 内的 shell 中使用进行验证)。
$TERM
要在扩展为时启用彩色提示tmux
,请编辑~/.bashrc
,找到代码片段并将相关行更改为:
tmux|screen|xterm-color|*-256color) color_prompt=yes;;
(我screen
提前为 GNU Screen 解决了同样的问题,以防您使用它。)
现有的 shell 不会被神奇地修复,但新 shell 中的提示(例如在新创建的 tmux 窗格中)将被着色。