Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 在Mac OS X Mavericks上使用git diff时,如何去掉ESC[字符?_Macos_Git - Fatal编程技术网

Macos 在Mac OS X Mavericks上使用git diff时,如何去掉ESC[字符?

Macos 在Mac OS X Mavericks上使用git diff时,如何去掉ESC[字符?,macos,git,Macos,Git,由于我安装了OS X Mavericks,因此命令的结果是呈现如下字符: 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..0c

由于我安装了OS X Mavericks,因此命令的结果是呈现如下字符:

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.

您是否设置了
LESS
环境变量?您可以使用以下方法进行检查:

env | grep LESS
或:

如果是这样,您需要确保
R
选项在那里。这允许ANSI转义序列毫发无损地通过,并且它们将在终端中呈现为颜色

仅供参考,我使用以下内容:

export LESS=eFRX
这项工作:

git config --global core.pager "less -r"

git中的全局寻呼机配置选项只将输出流发送到
more
less
命令。通过将全局配置选项设置为以下任一选项,可以消除此输出中的转义字符:

git config --global core.pager "more -R"
继续使用
more
作为寻呼机或

git config --global core.pager "less -R"

要继续使用
less
作为寻呼机

另一种选择是通过执行以下操作来消除git对输出的“着色化”

$ git config --global color.ui false
有关详细信息,请参阅git帮助配置


参考:

您可以使用选项
-R
重新绘制屏幕以删除所有缓冲输入

export LESS="$LESS -R"
试试“less-R”(大“R”) 这对我很有用:

git config core.pager'less-R'
“less-R”与“less-R”
-R
(大R)似乎是
-R
(小R)更安全的版本。所以我更喜欢大R版本

引自:

-r
-原始控制字符

导致显示“原始”控制字符。默认情况下,使用插入符号显示控制字符;例如,控制-a(八进制001)显示为“
^a
”。警告:使用
-r
选项时,less无法跟踪屏幕的实际外观(因为这取决于屏幕如何响应每种类型的控制字符)。因此,可能会导致各种显示问题,例如在错误的位置拆分长线

-R
-RAW-CONTROL-CHARS

-r
类似,但只有ANSI“颜色”转义序列以“原始”形式输出。与
-r
不同的是,屏幕外观在大多数情况下保持正确。ANSI“颜色”转义序列是以下形式的序列:

ESC[…m

如果“…”是零个或多个颜色规格字符,以便跟踪屏幕外观,则假定ANSI颜色转义序列不会移动光标。您可以减少对“m”以外字符的思考通过将环境变量
LESSANSIENDCHAR
S设置为可结束颜色转义序列的字符列表,可以结束ANSI颜色转义序列。通过将环境变量
lessansiendchars
设置为e可以显示的字符列表


我也遇到过类似的问题。我的产出为: LESS=-iMPM--?f%f--:-->?磅线%lt-%lb?L/L%L?pB(%pB%)。 LESSOPEN=| |/usr/bin/lessppe.sh%s

尝试在下面执行,但没有解决问题- git config--global color.ui auto true

该问题通过以下方式解决:-
export LESS=eFRX

我的OSX版本落后了很多,但我要检查的第一件事是
LESS
是否正在使用
-R
运行。如果
$LESS
设置为某个值,git将不会用通常的
FRSX
覆盖它。另请参阅git配置文档中的
core.pager
。对我来说,这会给出
-cise
。我使用了您的值(
eFRX
)来尝试它,它确实解决了问题!非常感谢!我也遇到了完全相同的问题,但是
export LESS=eFRX
没有帮助,只要
git config--global core.autocrlf input
。有什么想法吗?我不知道core.autocrlf为什么会对它有任何影响。:-(这对我很有用。)(FreeBSD)。接受的答案没有。@dwich这可能是因为您的控制字符不是颜色代码。-r传递所有控制字符,-r仅传递颜色控制字符。从
export LESS="$LESS -R"