我正在尝试从终端运行git grep(使用Titanium)。结果没有包裹并在窗口被切断,所以我什么都看不懂。我尝试搞乱配置,但无法得到任何东西。如何将这些grep结果包装好?
答案 0 :(得分:6)
您是否在core.pager
中设置了.gitconfig
?如果您使用less
,则可以通过按键盘上的右箭头键查看额外字符。
修改:即使我取消设置core.pager
,git grep
似乎默认调用less -S
。
编辑2:哎呀,正如Keith Thompson指出less
默认包装行。从手册页:
-S or --chop-long-lines Causes lines longer than the screen width to be chopped rather than folded. That is, the portion of a long line that does not fit in the screen width is not shown. The default is to fold long lines; that is, display the remainder on the next line.
答案 1 :(得分:3)
尝试通过cat
管道输出。
答案 2 :(得分:0)
使用较少的寻呼机,git grep
已经能够将选项传递给所述寻呼机:
-e
下一个参数是模式 此选项必须用于以
-
开头的模式,并且应该在将用户输入传递给grep的脚本中使用。
启动git 2。0。1(2014年6月25日),这也适用于不区分大小写的git grep
。
请参阅commit f7febbe中的Johannes Schindelin (dscho
):
git grep -O -i
:如果寻呼机是' less
',请通过' -I
'选项当
<command>
恰好是魔术字符串&#34;less
&#34;,今天
git grep -O<command> -e<pattern>
有用地将
+/<pattern>
传递给less,以便您可以使用 n 和 shift + n 在文件中导航结果击键。
唉,对于不区分大小写的比赛,这并没有做正确的事情 即。
git grep -i -O<command> -e<pattern>
对于这种情况,我们应该将
--IGNORE-CASE
传递给&#34;less
&#34;所以 n 和 shift + n 可以在结果之间移动而忽略模式中的大小写。原始修补程序来自msysgit并使用&#34;
-i
&#34;,但这不是因为缺乏对#34;-I
&#34;的支持。但它只是忽略了它应该工作,即使模式包含大写字母。