是否可以使用vimgrep直观选择当前文件?

Cut*_*eño 4 vim search vimgrep

我想只在当前文件的视觉选择中搜索vimgrep而不是整个文件.这可能吗?怎么样?我无法通过Google或vim帮助查找此案例.

我想要这个的原因是因为我需要quicklist(copen)中的结果,并且:g/FOO显示底部的匹配行没有完成这项工作.

Ing*_*kat 5

是的,你可以,因为Vim有标记位置的特殊正则表达式原子,并且视觉选择的开始和结束用'<和标记'>.由于标记上/之前/之后有原子,我们需要将它们组合起来覆盖整个选定行的范围:

在选择开始|之后和选择结束之前选择结束之前选择开始|.

要将搜索限制为当前文件,请使用特殊%关键字.

:vimgrep/\%(\%'<\|\%>'<\%<'>\|\%'>\)FOO/ %
Run Code Online (Sandbox Code Playgroud)