語法為 :[addr]s/源字符串/目的字符串/[option]
全局替換命令為::%s/源字符串/目的字符串/g
[addr] 表示檢索范圍,省略時(shí)表示當(dāng)前行。如:“1,20” :表示從第1行到20行;“%” :表示整個(gè)文件,同“1,$”;“. ,$” :從當(dāng)前行到文件尾;s : 表示替換操作[option] :?表示操作類型如:g 表示全局替換;?c 表示進(jìn)行確認(rèn)p 表示替代結(jié)果逐行顯示(Ctrl + L恢復(fù)屏幕);省略option時(shí)僅對(duì)每行第一個(gè)匹配串進(jìn)行替換;如果在源字符串和目的字符串中出現(xiàn)特殊字符,需要用”\”轉(zhuǎn)義
下面是一些例子:
#將That or this 換成 This or that
:%s/\(That\) or \(this\)/\u\2 or \l\1/
—-?
#將句尾的child換成children
:%s/child\([ ,.;!:?]\)/children\1/g
—-
#將mgi/r/abox換成mgi/r/asquare
:g/mg\([ira]\)box/s//mg//my\1square/g??? <=>? :g/mg[ira]box/s/box/square/g
—-
#將多個(gè)空格換成一個(gè)空格
:%s/? */ /g
—-
#使用空格替換句號(hào)或者冒號(hào)后面的一個(gè)或者多個(gè)空格
:%s/\([:.]\)? */\1 /g
—-
#刪除所有空行
:g/^$/d
—-
#刪除所有的空白行和空行
:g/^[ ?][ ?]*$/d
—-
#在每行的開始插入兩個(gè)空白
:%s/^/>? /
—-
#在接下來的6行末尾加入.
:.,5/$/./
—-
#顛倒文件的行序
:g/.*/m0O? <=> :g/^/m0O
—-
#尋找不是數(shù)字的開始行,并將其移到文件尾部
:g!/^[0-9]/m$ <=> g/^[^0-9]/m$
—-
#將文件的第12到17行內(nèi)容復(fù)制10詞放到當(dāng)前文件的尾部
:1,10g/^/12,17t$
~~~~重復(fù)次數(shù)的作用
—-
#將chapter開始行下面的第二行的內(nèi)容寫道begin文件中
:g/^chapter/.+2w>>begin
—-
:/^part2/,/^part3/g/^chapter/.+2w>>begin
—-
:/^part2/,/^part3/g/^chapter/.+2w>>begin|+t$
:%s/\(That\) or \(this\)/\u\2 or \l\1/
—-?
#將句尾的child換成children
:%s/child\([ ,.;!:?]\)/children\1/g
—-
#將mgi/r/abox換成mgi/r/asquare
:g/mg\([ira]\)box/s//mg//my\1square/g??? <=>? :g/mg[ira]box/s/box/square/g
—-
#將多個(gè)空格換成一個(gè)空格
:%s/? */ /g
—-
#使用空格替換句號(hào)或者冒號(hào)后面的一個(gè)或者多個(gè)空格
:%s/\([:.]\)? */\1 /g
—-
#刪除所有空行
:g/^$/d
—-
#刪除所有的空白行和空行
:g/^[ ?][ ?]*$/d
—-
#在每行的開始插入兩個(gè)空白
:%s/^/>? /
—-
#在接下來的6行末尾加入.
:.,5/$/./
—-
#顛倒文件的行序
:g/.*/m0O? <=> :g/^/m0O
—-
#尋找不是數(shù)字的開始行,并將其移到文件尾部
:g!/^[0-9]/m$ <=> g/^[^0-9]/m$
—-
#將文件的第12到17行內(nèi)容復(fù)制10詞放到當(dāng)前文件的尾部
:1,10g/^/12,17t$
~~~~重復(fù)次數(shù)的作用
—-
#將chapter開始行下面的第二行的內(nèi)容寫道begin文件中
:g/^chapter/.+2w>>begin
—-
:/^part2/,/^part3/g/^chapter/.+2w>>begin
—-
:/^part2/,/^part3/g/^chapter/.+2w>>begin|+t$
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
