:[range]s/source/target/[option]
range表示要替换的范围,想要全局替换的话,能够使用一个百分号.code
:%s/xxx/xxxx
另外,小数点表示当前行,美圆符号表示最后一行,数字表示范围.字符串
:1,.s 替换第一行到当前行 :.,$s 替换当前行到最后一行 :1,$s 替换第一行到最后一行,至关于 :%s
表示源字符串与目标字符串,如get
:1,.s/123/456
表示把第一行到当前行的首次出现的123替换成456,注意是首次出现,若是要替换某一行所有源字符串须要在后面加上io
/g
另外,对于一些特殊字符好比小数点,斜杠,双引号等须要转义,方式是使用反斜杠,在须要转义的字符面前加一个反斜杠
如把语法
"123//"
替换为总结
'123\\'
命令以下:co
:s/\"123\/\/\"/\'123\\\\\'/g
由于字符
"123//" 中 " 转义为 \" / 转义为 \/
'123\\' 中 ' 转义为 \' \ 转义为 \\
选项以下:数字
/g 全局替换 /c 确认 /p 替换结果逐行显示
注意选项的组合结果是tar
/cg /pc
这样的形式,而不是
/c/g /g/p
这样的形式.
全局替换的话,使用
:%s/source/target/g
局部替换的话,使用
:n,ms/source/target
n,m为行数,表示要替换的范围.注意若是字符串须要转义要加上反斜杠.