常规替换
:n1,n2s/hello/world/g - 用world替换文件n1行到n2行所有的hello。
:n1,n2s/hello/world/gc - 用world替换文件n1行到n2行所有的hello。(询问)
:n1,n2s/hello/world/gci - 用world替换文件n1行到n2行所有的hello。(询问+忽略大小写)
:%s/hello/world/g - 用world替换文件中所有的hello。
:%s/^/#/g - 在每一行的行首插入#,^表示行首。
正则
\d: 匹配一个数字字符。等价于 [0-9]。
\s: 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S: 匹配任何非空白字符。等价于[^ \f\n\r\t\v]。
\a: 英文字母
\w:匹配字母、数字、下划线。等价于’[A-Za-z0-9_]'。
|: 表示 或 ,如匹配foot或者food:“foo(t|d)”
+: 代表前面的字符必须至少出现一次(1次或多次)。
?: 匹配前面的子表达式零次或一次。
{m,n}: 表示m到n个字符。如 \a{m,n} 表示m 到n个英文字母。
{m,}: 表示m到无限多个字符。
正则替换
\(和\)分组给后面的\1,\2,\3用。
在表达式中使用 \( 和 \) 符号括起正则表达式,即可在后面使用\1、\2 等变量来访问 \( 和 \) 中的内容。