1、基本语法
替换命令语法:code
:[addr]s/源字符串/目标字符串/[option]
全局替换:字符串
:%s/源字符串/目标字符串/g
参数说明:io
- [addr]——表示检索范围,省略时表示当前行。
- "%":表示整个文件,同"1,$";
- ".,$":从当前行到文件尾;
- s:表示替换操做
- [option]:表示操做类型
- g:全局替换
- c:表示进行确认
- p:表示替换结果逐行显示(Ctrl+L恢复屏幕)
- 省略option:默认仅对每行第一个匹配串进行替换
- 若是在源字符串和目标字符串中有特殊字符,须要使用“”转义
2、使用示例
1.经常使用场景搜索
- :s/str1/str2/ ——用str2替换当前行中首次出现的str1
- :s/str1/str2/g ——用str2替换当前行中全部出现的str1
- :.,$s/str1/str2/g ——用str2替换正文当前行到末尾全部出现的str1
- :1,$s/str1/str2/g ——用str2替换正文中全部出现的str1
- :%s/str1/str2/ ——替换每一行中全部str1为str2
- :%s/str1/str2/(等同于:g/str1/s//str2/) ——替换每一行的第一个str1为str2
- :%s/str1/str2/g(等同于:g/str1/s//str2/g) ——替换每一行中全部str1为str2
2.g选项总结:语法
- g放在命令末尾,表示对搜索字符串的每次出现进行替换;不加g,表示只对搜索字符串的首次出现进行替换。
- g放在命令开头,表示对正文中全部包含搜索字符串的行进行替换操做。