由于我安装了OS X Mavericks,命令git diff
的结果是渲染ESC[xxx
这样的字符:
ESC[1mdiff --git a/console/org.linkedin.glu.console-webapp/decorate-grails-methods-plugin/plugin.xml b/console/org.linkedin.glu.console-webapp/decorate-grails-methods-plugin/plugin.xmlESC[m
ESC[1mindex 3b65cf1..0ca5d7e 100644ESC[m
ESC[1m--- a/console/org.linkedin.glu.console-webapp/decorate-grails-methods-plugin/plugin.xmlESC[m
ESC[1m+++ b/console/org.linkedin.glu.console-webapp/decorate-grails-methods-plugin/plugin.xmlESC[m
ESC[36m@@ -15,14 +15,14 @@ESC[m ESC[mThe purpose of this plugin is to decorate various grails methods.ESC[m
这用于在安装Mavericks之前正确呈现。我不知道有什么不同,所以任何有关故障排除的帮助都会非常感激。
请注意,使用的寻呼机为less
,因为当我点击h
时,我会收到以下内容:
SUMMARY OF LESS COMMANDS
Commands marked with * may be preceded by a number, N.
Notes in parentheses indicate the behavior if N is given.
答案 0 :(得分:57)
您是否设置了LESS
环境变量?您可以使用以下方式查看:
env | grep LESS
或:
echo $LESS
如果是这样,您需要确保R
选项在那里。这允许ANSI转义序列无损地通过,并且它们将在终端中呈现为颜色。
仅供参考,我用这个:
export LESS=eFRX
答案 1 :(得分:41)
这有效:
git config --global core.pager "less -r"
答案 2 :(得分:5)
git中的全局寻呼机配置选项,只是将输出流发送到more
或less
命令。您可以通过将全局配置选项设置为:
git config --global core.pager "more -R"
继续使用more
作为寻呼机或
git config --global core.pager "less -R"
继续使用less
作为寻呼机
答案 3 :(得分:1)
您可以使用-R
选项重新粉刷屏幕以删除所有缓冲的输入。
export LESS="$LESS -R"
答案 4 :(得分:1)
这对我有用:
git config core.pager 'less -R'
“-R”(大R)似乎是“ -r”(小R)的安全版本。这就是为什么我更喜欢大型R版本。
引用man less:
-r或--raw-control-chars
导致显示“原始”控制字符。默认设置是使用脱字符号显示控制字符。例如,控件A(八进制001)显示为“ ^ A”。警告:使用-r选项时,less不能跟踪屏幕的实际外观(因为这取决于屏幕对每种控制字符的响应方式)。因此,可能会导致各种显示问题,例如长行在错误的位置被分割。-R或--RAW-CONTROL-CHARS
与-r类似,但是仅以“原始”形式输出ANSI“颜色”转义序列。与-r不同,在大多数情况下,屏幕外观都可以正确维护。 ANSI“颜色”转义序列是以下形式的序列:ESC [... m
其中“ ...”是零个或多个颜色指定字符为了跟踪屏幕外观,假定ANSI颜色转义序列不移动光标。通过将环境变量LESSANSIENDCHARS设置为可以结束颜色转义序列的字符列表,您可以少考虑“ m”以外的字符可以结束ANSI颜色转义序列。通过将环境变量LESSANSIMIDCHARS设置为可以显示的字符列表,您可以少考虑一下ESC和m之间可能会出现标准字符以外的其他字符。
答案 5 :(得分:0)
另一种方法是通过执行类似
的操作来消除git对输出的“着色”$ git config --global color.ui false
有关详细信息,请参阅git help config
。
答案 6 :(得分:0)
我也遇到过类似的问题。我的 LESS 输出是: LESS=-iMPM--?f%f--:--.?lb 行 %lt-%lb.?L 的 %L.?pB (%pB%)。 LESSOPEN=||/usr/bin/lesspipe.sh %s
尝试在下面执行,但没有解决问题- git config --global color.ui auto true
该问题已使用 - 解决 导出 LESS=eFRX