我想使用Vim在html文件中搜索HTML标记。
我尝试过\<html\>
,但这意味着只搜索“ html”字词。
我不知道如何找到大写或小写的字符。
答案 0 :(得分:2)
Vim具有4种正则表达式解释模式:
默认值为magic
(请检查:set magic?
),这可能有点令人惊讶,因为某些非字母数字字符具有特殊的正则表达式含义,但不是全部。特别是^$*.
可以,但是大多数其他字符都不能。例如,为了匹配替代方案,您必须转义竖线字符this\|that
,而this|that
将与文字字符串"this|that"
相匹配。
在您的情况下,<
没有特殊含义,但\<
却有特殊含义(单词的开头)。搜索<html>
是可行的,但是如果有疑问,您可以通过在搜索之前加上\V
(所以/\V<html>
)来激活“非常魔术”模式,其中每个字符都与字符本身匹配。如果并且何时要激活所有正则表达式功能,则可以使用小写的\v
激活“非常魔术”模式(因此/\v<html>
将搜索单词“ html”)。
答案 1 :(得分:0)
在正常模式下,/
命令向前搜索(?
—向后搜索)。假设我们在顶部,并想向前搜索。因此,如果我们要查找特定的标签,例如“ div”,则应输入以下内容:
/\V<div>
此处\V
打开“非常不可思议”模式,在该模式下,除非在符号前加反斜杠,否则它没有任何特殊含义。 (我只使用“非常魔术”和“非常魔术”模式,而不使用“魔术”和“非常魔术”模式。)
如果我们想找到任何html标签,即尖括号之间的内容,我们可以输入以下其中一项:
/\V<\[^<>]\+>
/\v\<[^<>]+\>
这将找到并突出显示所有标签及其属性。
您可以为自己喜欢的模式创建方便的键盘映射,例如:
nnoremap // /\V
现在,双击/
会将您带入“非常不可思议”模式的搜索行。
输入:help pattern
以获得更多信息。