Shell 提示符在 tmux 之外是有颜色的,但在 tmux 中没有;如何在 tmux 中获得彩色提示符?

Shell 提示符在 tmux 之外是有颜色的,但在 tmux 中没有;如何在 tmux 中获得彩色提示符?

我是 tmux 的新用户,想知道如何突出显示机器名称和工作目录?我的意思是如下。

在默认的 Ubuntu 终端中:

默认终端

在 tmux 中:

tmux

我知道这只是一件小事,但突出显示这些内容对于阅读非常有帮助。

答案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 中您的$TERMistmuxtmux-256color.tmux-256color会被代码片段检测到,并且不会有问题,所以显然在您的情况下该值是tmuxecho "$TERM"在 tmux 内的 shell 中使用进行验证)。

$TERM要在扩展为时启用彩色提示tmux,请编辑~/.bashrc,找到代码片段并将相关行更改为:

    tmux|screen|xterm-color|*-256color) color_prompt=yes;;

(我screen提前为 GNU Screen 解决了同样的问题,以防您使用它。)

现有的 shell 不会被神奇地修复,但新 shell 中的提示(例如在新创建的 tmux 窗格中)将被着色。

相关内容