我们如何在Vim中搜索某物,而不包括搜索可能涵盖的某些可能性?
例如:搜索How\s[a-z]
,但结果不应该包含How a
,而应该包含How b
,How c
,...,How z
。 / p>
更新
如@Jonathon K所指出的,上述说明性示例的一种可能的解决方案是How\s[b-z]
,这是正确的。但是我要寻找的是一种通用解决方案,其中可以排除Vim搜索中许多可能的解决方案之一(示例2:当我搜索ERROR
时排除er*
。即席解决方案可以在这种情况下也可以使用:))。
答案 0 :(得分:2)
示例2:搜索
er*
时排除错误。在这种情况下,也可以使用临时解决方案。
仅供参考,er*
将不匹配ERROR
。它将与以下任何一项匹配:
e
er
errrrr
errrrrrrrrrrrrrrrrr
您可能正在考虑ER.*
继续前进...
您基本上是在寻找\@!
量词。它断言前一个原子在当前位置不匹配。它也是零宽度。如果您想搜索ER.*
但不匹配ERROR
,则可以执行以下操作:
ER\(ROR\)\@!.*
或者,我更喜欢在(\v
上加上“魔术”:
\vER(ROR)@!.*
或举第一个示例:
\vHow\sa@![a-z]
即使我建议像乔纳森指出的那样使用[b-z]
:)