目录
一、语法二、实例一、语法
[addr]s/源字符串/目的字符串/[option]
1、[addr]
:检索范围
"1,n":表示从第1行到n行"%":表示整个文件,同"1,$"".,$":表示从当前行到文件尾
[addr]省略时表示当前行
2、s
:表示替换操作,其为substitute的缩写。
3、[option]
:操作类型
g:globe,表示全局替换c:confirm,表示进行确认p:表示替代结果逐行显示(Ctrl + L恢复屏幕)i:ignore,不区分大小写
[option]省略时仅对每行第一个匹配串进行替换
如果在源字符串和目的字符串中出现特殊字符,如’/‘,’<‘,’>‘,’,'等需要前面加反斜杠\进行转义。
二、实例
1、简单操作
#将当前行第一个a替换为b:s/a/b/#将当前行的所有a替换为b:s/a/b/g#将每行第一个a替换为b:%s/a/b#将整个文件的所有a替换为b:%s/a/b/g#将1至3行的第一个a替换为b:1,3s/a/b/#将1至3行的所有a替换为b:1,3s/a/b/g
2、高级操作
#使用#作为分隔符,此时中间出现的/不会作为分隔符,如:将当前行的字符串"a/"替换为"b/":s#a/#b/##找到包含字母a的行并删除:g/a/d#删除所有空行:g/^$/d#多个空格替换为一个空格:s/ \+/ /g#在正则表达式中使用和和符号括起正则表达式,即可在后面使用\1,\2等变量来访问和和中的内容,如下#将data1 data2修改为data2 data1:s/\w\+\w\+\s\+\w\+\w\+/\2\t\1
参考自:《vi/vim 文件查找与替换》