Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.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
Linux 使用git grep时的单词换行_Linux_Git_Terminal - Fatal编程技术网

Linux 使用git 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的寻呼机,已能够

我正在尝试从终端运行GitGrep(使用钛)。结果没有包装,在窗口处被切断,因此我无法阅读任何内容。我试着摆弄配置,但什么也没得到。如何包装这些grep结果?

尝试通过
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>