要在查找或替换中完全使用正则表达式, 可以在pattern之前使用参数:
\v
它代表"very magic".
相反, 有个代表"very nomagic"的参数, 可以表示完全不使用正则表达式:
\V
即原样匹配所有字符, 但斜杠和反斜杠还是需要转义.
示例:
/\v<vim=>|gvim
:%s/\V\\v<vim=>|gvim//g
可使用以下文本进行测试:
gvim vi vim gvi viv \v<vim=>|gvim
Vim正则与一般正则的区别:
Vim | 作用 | 备注 |
= | 匹配0个或1个字符 | ? |
< | 单词起始边界 | \b |
> | 单词结束边界 | \b |
\_ | 包含换行符 | 多行模式 |
{-} | 非贪婪模式 | *? |
(exp)@<= | 零宽断言 前 | (?<=exp) |
(exp)@= | 零宽断言 后 | (?=exp) |
在Vim中, 还可以对正则表达式的分组进行大小写的转换, 要用到的参数有:
\u (将分组第一个字母转换成大写)
\U (将整个分组转换成大写)
\l (将分组第一个转换成小写)
\L (将整个分组转换成小写)
示例:
:%s/\v(\w)(\w*)/ \u\1 \L\2 /g
将所有单词转换成首字母大写