:[range]s/source/target/[option]
range表示要替換的範圍,想要全局替換的話,能夠使用一個百分號.ide
:%s/xxx/xxxx
另外,小數點表示當前行,美圓符號表示最後一行,數字表示範圍.code
:1,.s 替換第一行到當前行 :.,$s 替換當前行到最後一行 :1,$s 替換第一行到最後一行,至關於 :%s
表示源字符串與目標字符串,如字符串
:1,.s/123/456
表示把第一行到當前行的首次出現的123替換成456,注意是首次出現,若是要替換某一行所有源字符串須要在後面加上get
/g
另外,對於一些特殊字符好比小數點,斜槓,雙引號等須要轉義,方式是使用反斜槓,在須要轉義的字符面前加一個反斜槓
如把 it
"123//"
替換爲io
'123\\'
命令以下:class
:s/\"123\/\/\"/\'123\\\\\'/g
由於語法
"123//" 中 " 轉義爲 \" / 轉義爲 \/
'123\\' 中 ' 轉義爲 \' \ 轉義爲 \\
選項以下:總結
/g 全局替換 /c 確認 /p 替換結果逐行顯示
注意選項的組合結果是di
/cg /pc
這樣的形式,而不是
/c/g /g/p
這樣的形式.
全局替換的話,使用
:%s/source/target/g
局部替換的話,使用
:n,ms/source/target
n,m爲行數,表示要替換的範圍.注意若是字符串須要轉義要加上反斜槓.