我最近决定试用 WSL(Ubuntu 18.04),并且像往常一样安装了 zsh+oh-my-zsh。很快我发现颜色输出git log
被破坏了:
- Git 日志输出,未着色
颜色代码看起来是正确的,并且将此输出通过管道传递给 cat 确实会导致显示正确的颜色。其他命令,包括一些 git 命令,例如git status
,可以正确显示颜色。
我最终发现在 bash 下不会发生这种情况。但是,打开一个运行 bash 的新终端,然后启动 zsh,然后启动 bash,将导致最内层的 bash 实例从 zsh 继承损坏的行为。
- 庆典 -> zsh -> 庆典
我还发现这种行为是由 oh-my-zsh 引起的。颜色在 zsh 的 vanilla 配置中正确显示。
不幸的是,这个问题并不仅限于 oh-my-zsh。我从 tmux 中获得完全相同的行为git log
,无论使用哪个 shell 以及从哪个 shell 启动 tmux。
我主要使用ys
oh-my-zsh 主题,但我尝试了几个,这些问题似乎并不局限于任何一个。
TERM
xterm-256color
在 zsh 和 bash 中以及screen
在 tmux中设置为。
让我知道是否有任何其他信息可以帮助,并在此先感谢。