我最近决定尝试一下 WSL(Ubuntu 18.04),并像往常一样安装了 zsh+oh-my-zsh。很快我发现颜色输出git log
坏了:
- Git 日志输出,未着色
颜色代码似乎是正确的,并且将此输出传输到 cat 确实会显示正确的颜色。其他命令(包括一些 git 命令,例如)可以git status
正确显示颜色。
我最终发现,在 bash 下不会发生这种情况。但是,打开一个运行 bash 的新终端,然后启动 zsh,然后启动 bash,会导致最内层的 bash 实例继承 zsh 的损坏行为。
- bash->zsh->bash
我还发现此行为是由 oh-my-zsh 引起的。使用其 vanilla 配置,zsh 可以正确显示颜色。
不幸的是,这个问题并不局限于 oh-my-zsh。git log
无论使用哪个 shell 以及从哪个 shell 启动 tmux,我在 tmux 中都会遇到完全相同的行为。
我主要使用ys
oh-my-zsh 主题,但我尝试了几个,这些问题似乎并不局限于任何一个。
TERM
xterm-256color
在 zsh 和 bash 以及tmux 中设置为screen
。
如果有任何其他有帮助的信息,请告诉我,提前谢谢您。
答案1
事实证明,这与 WSL 无关。我错误地配置了LESS=-XF
,而我本应该设置LESS=-XFR
。由于-F
,我甚至没有意识到less
正在被 调用git log
。