【问题标题】:Don't display ^M (carriage return) in git grep output不要在 git grep 输出中显示 ^M(回车)
【发布时间】:2020-04-07 01:22:46
【问题描述】:

要从git diff 隐藏可怕的^M 字符,必须进行配置:

[core]
    whitespace = cr-at-eol

但它们仍然显示在git grep 输出中。 如何解决?

编辑——我正在运行的 grep 是:

git grep -i --line-number --break --heading -C 1 <PATTERN>

在 Cygwin(在 Windows 上)中,less -R 作为寻呼机。

【问题讨论】:

  • 您使用的是什么操作系统和终端模拟器?您是否使用寻呼机,如果使用,是哪一个?
  • 编辑了我的问题来回答你的问题。谢谢!

标签: git command-line grep config carriage-return


【解决方案1】:

引用类似的question(与git diff相关),

将 core.pager 改成"tr -d '\r' | less -REX"

您可以像这样全局更改此配置,

git config --global core.pager "tr -d '\r' | less -REX"

或者只对git grep使用一次,

git -c core.pager="tr -d '\r' | less -REX" grep -i --line-number --break --heading -C 1 <PATTERN>

用户Jason Pyeron提供了详尽的解释here

【讨论】:

  • 这太疯狂了,恕我直言,虽然有一个差异设置……但 grep 部分没有遵循……但这行得通,谢谢!
  • 如果您也能解决附带问题,我们将不胜感激 - 尽管您已经解决并解决了最初的问题!
  • 你知道用什么颜色来突出这些口音吗?
  • @user3341592,你能提供更多细节吗?你用的是什么终端?正在执行的命令是什么? (less 为我正确显示非 ASCII 字符),如果你能打开一个新问题会更好
猜你喜欢
  • 1970-01-01
  • 2017-08-19
  • 2021-09-10
  • 1970-01-01
  • 2014-03-22
  • 1970-01-01
  • 1970-01-01
  • 2019-11-24
  • 2012-01-24
相关资源
最近更新 更多