vim:grep使用bash'globstar'选项

神经科医生

我正在(慢慢地)切换到Vim进行日常的Ruby on Rails编码(Linux Cinnamon 64位)。作为新手,我最近遇到了一些我不了解的事情。

我想使用:vimgrep和:grep命令从Vim搜索文件树中的模式。我能够做到:vimgrep命令没有问题:

:vimgrep /User/gj **/*.rb

但是,当我尝试对:grep使用同一命令(应使用系统grep)时,未返回任何结果:

:grep User **/*.rb

到处搜寻,我发现我的bash shellglobstar选项未启用:

$shopt globstar
globstar        off

很容易打开:

$shopt -s globstar

我将以上行添加到我的.vimrc文件中,并确保在bash中永久启用了该选项。

使用新选项,我可以通过这种方式执行grep并获得所需的结果:

$grep User **/*.rb

不幸的是,Vim内部的:grep命令仍然不能和'**'一起使用。并执行:

!shopt globstar

从Vim内部,结果仍然关闭

所以问题是:我可以将bash的globstar选项传播到Vim外部命令环境吗?否则,我可以通过某种方式在Vim中设置grepprg选项,以使我能够正确使用globstar吗?

在此先感谢任何将提供帮助的人

英戈·卡卡特(Ingo Karkat)

shell选项不会继承到派生的shell,但这是Vim在使用:!命令时所做的:它启动一个新的shell。

您可以通过以下'shell'选项在Vim中影响那些分叉的shell

:set shell+=\ -O\ globstar

或者

:set shell=/bin/bash\ -O\ globstar

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

bash globstar匹配

来自分类Dev

**(bash的globstar)会耗尽内存吗?

来自分类Dev

**(bash的globstar)会耗尽内存吗?

来自分类Dev

如何在v4之前的bash上使用globstar

来自分类Dev

bash-传递给循环时强制globstar星号扩展

来自分类Dev

使用shopt globstar和** /进行rsync。-如何排除目录?

来自分类Dev

bash / bin / grep:参数列表太长(使用--file选项)

来自分类Dev

Unix在bash脚本中添加grep选项

来自分类Dev

Unix在bash脚本中添加grep选项

来自分类Dev

Grep默认颜色选项

来自分类Dev

grep 输出“开始”选项

来自分类Dev

显示Vim命令选项

来自分类Dev

显示Vim命令选项

来自分类Dev

使用grep在选择jquery中加载选项

来自分类Dev

Bash shebang选项-l

来自分类Dev

检查bash选项

来自分类Dev

Bash 中的卷曲选项

来自分类Dev

如何启用双星**(globstar)运算符?

来自分类Dev

使用长选项正确使用bash getopts

来自分类Dev

使用-O选项打开vim时如何在vim中切换选项卡

来自分类Dev

选项有选项C ++时使用getopt

来自分类Dev

命令grep中的-e选项

来自分类Dev

Bash / Shell结合使用find选项

来自分类Dev

Bash:使用getopts解析参数后的选项

来自分类Dev

当使用选项标志时的bash控制语句

来自分类Dev

如何使用ls?bash变量中的选项?

来自分类Dev

Vim禁止修改选项

来自分类Dev

Vim的Ruby选项未启用

来自分类Dev

使用角度的嵌套选项