vim替换
Vim替换命令的完整格式为:[range]s/{pattern}/{string}/[flags]。全局替换时,range使用%代表整个文件,例如:
:%s/foo/bar/g:将文件中所有foo替换为bar。
g(全局)标志:不加g时仅替换每行第一个匹配项,添加后替换所有匹配项。
c(确认)标志:添加c后,每次替换前会提示确认(y替换、n跳过、a替换全部),避免误操作。
- 指定行范围: 替换部分内容时,用行号或百分比定义范围:
10,20s/old/new/g:替换第10至20行。.,$s/old/new/g:替换从当前行到文件末尾。
- 正则表达式支持: Vim支持正则表达式,实现复杂匹配:
%s/\<foo\\u003e/bar/g:精确匹配单词foo(避免匹配foobar)。
注:在计算机编程中,\u003e 是一个 Unicode 转义序列,表示大于号(>)字符
%s/$\d\{3\}$-$\d\{3\}$-$\d\{4\}$/(\1) \2-\3/g:格式化电话号码。
- 特殊字符处理: 若old或new含/等特殊字符,需转义(如/)或改用其他分隔符(如#):
s#a/b#c/d#:以#为分隔符替换路径。

浙公网安备 33010602011771号