vim替換命令

1 語法

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

2 range

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

:%s/xxx/xxxx

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

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

3 source與target

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

:1,.s/123/456

表示把第一行到當前行的首次出現的123替換成456,注意是首次出現,若是要替換某一行所有源字符串須要在後面加上io

/g

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

"123//"

替換爲總結

'123\\'

命令以下:co

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

由於字符

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

4 option

選項以下:數字

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

注意選項的組合結果是tar

/cg
/pc

這樣的形式,而不是

/c/g
/g/p

這樣的形式.

5 總結

全局替換的話,使用

:%s/source/target/g

局部替換的話,使用

:n,ms/source/target

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

相關文章
相關標籤/搜索