vim替換命令

1 語法

:[range]s/source/target/[option]

2 range

range表示要替換的範圍,想要全局替換的話,可以使用一個百分號.

:%s/xxx/xxxx

另外,小數點表示當前行,美元符號表示最後一行,數字表示範圍.

:1,.s     替換第一行到當前行
:.,$s     替換當前行到最後一行
:1,$s     替換第一行到最後一行,相當於 :%s

3 source與target

表示源字符串與目標字符串,如

:1,.s/123/456

表示把第一行到當前行的首次出現的123替換成456,注意是首次出現,如果要替換某一行全部源字符串需要在後面加上

/g

另外,對於一些特殊字符比如小數點,斜槓,雙引號等需要轉義,方式是使用反斜槓,在需要轉義的字符面前加一個反斜槓
如把

"123//"   

替換爲

'123\\'

命令如下:

:s/\"123\/\/\"/\'123\\\\\'/g

因爲

"123//" 中
"     轉義爲      \"
/     轉義爲      \/
'123\\' 中
'     轉義爲      \'
\     轉義爲      \\

4 option

選項如下:

/g  全局替換
/c  確認
/p  替換結果逐行顯示

注意選項的組合結果是

/cg
/pc

這樣的形式,而不是

/c/g
/g/p

這樣的形式.

5 總結

全局替換的話,使用

:%s/source/target/g

局部替換的話,使用

:n,ms/source/target

n,m爲行數,表示要替換的範圍.
注意如果字符串需要轉義要加上反斜槓.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章