Vim中的正则表达式

本文最后更新于2015年12月12日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

在Vim中删除空行

将连续的空行删除至单空行

删除行尾的多余空格

查找匹配字符串出现的次数

Vim中正则表达式的元字符

Vim中的magic设定

设定方法为:

:set magic ” 设置magic
:set nomagic ” 取消magic
:h magic ” 查看帮助

简单地说,magic就是设置哪些元字符要加反斜杠哪些不用加的。例如:

magic(\m):除了 $ . * ^ 之外其他元字符都要加反斜杠。
nomagic(\M):除了 $ ^ 之外其他元字符都要加反斜杠。

这个设置也可以在正则表达式中通过 \m \M 开关临时切换。 \m 后面的正则表达式会按照 magic 处理,\M 后面的正则表达式按照 nomagic 处理, 而忽略实际的magic设置。例如:

/\m.* # 查找任意字符串
/\M.* # 查找字符串 .* (点号后面跟个星号)

另外还有更强大的 \v 和 \V。 \v(即 very magic 之意):任何元字符都不用加反斜杠 \V(即 very nomagic 之意):任何元字符都必须加反斜杠。例如:

/\v(a.c){3}$   # 查找行尾的abcaccadc
/\m(a.c){3}$  # 查找行尾的(abc){3}
/\M(a.c){3}$  # 查找行尾的(a.c){3}
/\V(a.c){3}$  # 查找任意位置的(a.c){3}$

默认设置是 magic,vim也推荐大家都使用magic的设置,在有特殊需要时,直接通过 \v\m\M\V 临时修改设置即可。Vim的帮助文件非常有用,关于正则表达式可以参考以下的内容:

:h pattern
:h magic
:h perl-patterns

参考链接:
更多的参考链接:

=EOF=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/2575.html

《Vim中的正则表达式》上有1条评论

a-z进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注