Linux 使用git grep时的单词换行
我正在尝试从终端运行GitGrep(使用钛)。结果没有包装,在窗口处被切断,因此我无法阅读任何内容。我试着摆弄配置,但什么也没得到。如何包装这些grep结果?尝试通过Linux 使用git grep时的单词换行,linux,git,terminal,Linux,Git,Terminal,我正在尝试从终端运行GitGrep(使用钛)。结果没有包装,在窗口处被切断,因此我无法阅读任何内容。我试着摆弄配置,但什么也没得到。如何包装这些grep结果?尝试通过cat管道输出在.gitconfig中设置了核心.pager?如果使用的是less,则按键盘上的右箭头键可以看到额外的字符 Edit:即使我取消设置core.pager,git grep在默认情况下似乎也会调用less-S 编辑2:哎呀,正如基思·汤普森指出的那样less默认情况下会换行。从手册页: 使用类似less的寻呼机,已能够
cat管道输出在.gitconfig
中设置了核心.pager
?如果使用的是less
,则按键盘上的右箭头键可以看到额外的字符
Edit:即使我取消设置core.pager
,git grep
在默认情况下似乎也会调用less-S
编辑2:哎呀,正如基思·汤普森指出的那样less
默认情况下会换行。从手册页:
使用类似less的寻呼机,已能够将选项传递给所述寻呼机:
-e
下一个参数是模式。
此选项必须用于以-
开头的模式,并且应在将用户输入传递给grep的脚本中使用
启动git 2.0.1(2014年6月25日),它也可以使用不区分大小写的git grep
见:
git grep-O-i
:如果寻呼机是'less
',则传递'-i
'选项
今天,当
恰好是神奇的字符串“less
”时
git grep-O-e
有助于将+/
传递到less,以便您可以使用n和shift+n键在文件中浏览结果
唉,对于不区分大小写的匹配,这样做是不对的,
i、 e
git grep-i-O-e
对于这种情况,我们应该将--IGNORE-case
传递到“less
”,以便n和shift+n可以在模式中忽略大小写的结果之间移动
最初的补丁来自msysgit并使用了“-i
”,但这并不是因为缺少对“-i
”的支持,而是它忽略了即使模式包含大写字母,它也应该工作
在less
中,-S
在换行和截断之间切换。啊,你是对的。我使用-S
,所以我认为这种行为是默认的。我已将此添加到我的答案中。如果确实要修改行为,正确的方法是设置LESS
环境变量。如果未设置,Git默认为FRSX
F
使其在屏幕不足时自动退出,X
使其正常工作(避免干扰滚动),并且R
使其显示颜色。因此,您可能希望使用LESS=FRX
来避免弄乱其他任何东西。git grep的-e
参数在这里很有用。看见
-e
git grep -O<command> -e<pattern>
git grep -i -O<command> -e<pattern>