Tmux 颜色不起作用

Jas*_*ove 10 tmux 16.04

据我所知,我有一个奇怪的问题。当我使用时,tmux我不会在终端中获得颜色(所有文本都是白色的,即使是像 那样的东西ls),但是我的颜色对于 vim 和其他类似的东西来说效果很好。

在我的 .tmux.conf 文件中有一行set -g default-terminal "screen-256color",这是大多数人所说的解决了他们的问题。我也尝试通过键入启动 tmux tmux -2,但这并没有改变任何东西。

在这一点上我有点不知所措,所以提前感谢您提供的任何帮助!

操作系统:Ubuntu 16.04

Tmux 版本:2.1

use*_*056 11

我可以帮你解决症状,但不是问题的根源。提示的设计是在变量 PS1 中配置的。

在 tmux 之外,这是值:

$ echo ${PS1} # outside tmux
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
Run Code Online (Sandbox Code Playgroud)

这是 tmux 中的值:

$ echo ${PS1} # outside tmux
${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Run Code Online (Sandbox Code Playgroud)

要解决此问题,您可以在 tmux 中运行此命令,对于当前窗口,提示将立即看起来正常:

PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Run Code Online (Sandbox Code Playgroud)

编辑:我通过将以下行添加到 ~/.tmux.conf 来解决它

set -g default-terminal "screen-256color"
Run Code Online (Sandbox Code Playgroud)