有没有办法只搜索与/pattern
之前搜索中的模式匹配的行?这些场景是第一批搜索提供商的一些超级结果,我想在其中导航子类别。
答案 0 :(得分:1)
您无法在不连续范围内执行内置命令。在我看来,你最好的选择是做一些事情:
:vim firstpattern % | cw
然后使用其中一个this question的答案,使用secondpattern
过滤结果。
答案 1 :(得分:1)
我无法找到任何内置的vim
语法来搜索搜索。因此,这篇文章尝试在vim
中提供一些可用于实现目标的变通方法。
/.*<pattern1>\&.*<pattern2>
。 .*
是必要的,因此它不会在开始时尝试匹配。 \&
基本上表示匹配两种模式。/<pattern1>
搜索模式,然后键入/
并按up
箭头键以显示以前使用的模式。然后,您可以添加到此先前的模式(此变通方法没有太多特别之处)。这是对romainl的非常相似的回应,但是如果你想使用外部命令(会更快):grep <firstpattern> % | copen
。这将使用您的外部命令(Vim Quickfix Doc&amp; Vim Grep Wiki)执行grep
。另外,作为一般说明,%
符号为cmdline special character
(Vim Cmdline Special Character Doc),copen
命令会打开quickfix列表。
注意:您可能需要在管道外运行copen
命令。至少,当我尝试时,我无法按照我想要的方式使管道工作。
Romainl的回复(使用quickfix列表)可能是您获得交互式解决方案的最佳方式。如果您觉得需要额外的功能,可以尝试在romainl链接中实现额外的开源代码。
这些都是我现在头脑中的所有想法。如果他们找到你好,请告诉我,如果没有,那么我会继续搜索。