ein*_*lum 4 less colors sles colordiff
我正在 SLES11 机器上远程工作(我很遗憾)。在这台机器上,我正在使用 git,特别是git diff
,它将结果传递给less
一些着色。现在,出于某种原因,我看到的不是颜色,而是如下所示的线条:
ESC[1mdiff --git a/path/to/file.h b/path/to/file.hESC[m
ESC[1mindex 1ab153f..0491db9 100644ESC[m
Run Code Online (Sandbox Code Playgroud)
等等。
我知道终端支持颜色(ls 结果是彩色的);我有TERM=xterm
并且COLORTERM=1
在我的环境中。
如何让彩色差异显示正确?
正如terdon 所说,less
' 默认行为是以cat -v
样式显示特殊字符的等价物。less -R
将改变这一点,以便将转义序列传递给处理显示的任何内容。
less
的默认值可以用LESS
环境变量指定,例如
export LESS=-R
Run Code Online (Sandbox Code Playgroud)
git
对它的寻呼机应该做什么有自己的想法。如果没有LESS
设置环境变量,FRX
调用时会设置为less
,符合git
预期;如果LESS
被设置,它会离开它不变,这可能会导致无法读取输出,如果LESS
不包括-R
。
有两种配置两种方式less
与使用git
:要么将其配置在全球范围使用的LESS
变量,或更改的core.pager
设置,例如,
git config --global core.pager "less -R"
Run Code Online (Sandbox Code Playgroud)