最近,我切换到SLES 11.我发现了git命令的问题.无法呈现所有ANSI颜色.相反,它显示如下的ANSI代码:
*ESC [33m*commit 0a02124a0fd85c1f0094bcdf15bac1645e3c8630ESC [m
注意:'ls'中的ansi颜色效果非常好.
sar*_*old 67
尝试设置LESS
环境变量以包含-R
选项:
LESS=-R git grep ...
Run Code Online (Sandbox Code Playgroud)
如果一切正常,添加export LESS=-R
到您~/.bashrc
或~/.profile
或类似的shell启动文件.
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are
output in "raw" form. Unlike -r, the screen
appearance is maintained correctly in most cases.
ANSI "color" escape sequences are sequences of the
form:
ESC [ ... m
where the "..." is zero or more color specification
characters
Run Code Online (Sandbox Code Playgroud)
Cas*_*bel 29
正如其他人所指出的那样,问题是你的终端没问题,但是当Git调用寻呼机时,它并没有正确地解释ANSI颜色代码.
我会在你的环境中解开思想 LESS
; 听起来你可能以前把它设置为模糊Git需要的东西.如果这解决了,那就是你.如果你真的必须自定义LESS
,请注意Git FRSX
默认开始,所以如果你不需要,请小心改变它们.
如果你这样做无论出于何种原因要LESS
在你的环境,你要哪个GIT中不同,理想的方式来处理Git和寻呼机是通过core.pager
配置变量.引用联机帮助页:
git将用于分页输出的命令.可以使用GIT_PAGER环境变量覆盖.请注意,如果在运行寻呼机时未设置LESS,则git会将LESS环境变量设置为FRSX.可以通过将LESS变量设置为其他值来更改这些设置.或者,可以通过设置core.pager选项在项目或全局基础上覆盖这些设置.设置core.pager对上面的LESS环境变量行为没有影响,所以如果你想以这种方式覆盖git的默认设置,你需要明确.例如,要以向后兼容的方式禁用S选项,请将core.pager设置为
less -+$LESS -FRX
.这将通过git传递给shell,它会将最终命令转换为LESS=FRSX less -+FRSX -FRX
.
结合您想要的一些选项知识,可以让您达到您想要的目标.(花哨的向后兼容方法通过禁用当前所有选项LESS
,然后添加回你想要的选项来工作.)
dha*_*ald 19
在git中,您可以更改寻呼机以使用-R
选项:
git config --global core.pager "less -R"
Run Code Online (Sandbox Code Playgroud)
小智 6
对我来说,这不起作用:
git config --global core.pager less -R
所以我把以下内容添加到我的〜/ .gitconfig文件中
[core]
pager = less -R
Run Code Online (Sandbox Code Playgroud)
为了测试它,我做到了
git log --graph --pretty=format:"%C(yellow)%h%Creset%C(blue)%d%Creset %C(white bold)%s%Creset %C(white dim)(by %an %ar)%Creset" --all
好,我知道了。这个问题与变量 LESS 有关。
以下行解决了这个问题:
export LESS="-erX"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10780 次 |
最近记录: |