如何在git中定义ESC char?

Han*_*ter 6 git escaping opensuse

我想在git输出中使用着色,例如:

git log --decorate --color
Run Code Online (Sandbox Code Playgroud)

当我发出这个命令我得到的输出看起来像ESC[1;32m这里ESC是颜色颠倒.
这看起来像一个有效的转义序列,除了\033必须发送而不是字符E,SC.
当我发出ls命令时,我会根据权限对文件进行着色.所以这些功能没有任何问题.

是否有必须设置为ESC char值的环境变量?还是我在朝错误的方向看?
我正在运行openSUSE 11.1

Paŭ*_*ann 9

看起来你的终端(或处理输出的任何程序)都不理解这一点,并显示ESC为占位符\033.如果您less用于显示输出,那么它需要-R参数.

我正在使用配置core.pager=less -XRMSI,它在这里工作正常(也是一个openSUSE,虽然我不确定是哪个版本).(在更改之前,请查看当前配置git config -l,并记住旧值.另外,您可能需要阅读less有关可用开关的文档.)

  • 我发现有用的另一个选项是:`git config --global core.pager'less $ LESS -FRXS'` (2认同)