我只想在视觉上选择当前文件而不是整个文件时使用vimgrep搜索。那有可能吗?在Google或vim帮助下,我找不到适合这种情况的东西。
之所以要这样做,是因为我需要快速列表(copen
)中的结果,并且:g/FOO
在底部显示匹配的行没有完成此工作。
是的,您可以这样,因为Vim具有用于标记位置的特殊正则表达式原子,并且视觉选择的开始和结束都由'<
和标记'>
。由于标记上/之前/之后有原子,因此我们需要将这些原子结合起来以覆盖所选行的整个范围:
在选择开始|
之后,在选择开始之后,在选择结束之前在选择结束|
上。
为了将搜索限制到当前文件,使用了特殊%
关键字。
:vimgrep/\%(\%'<\|\%>'<\%<'>\|\%'>\)FOO/ %
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句