語法為:[addr]s/來源字串/目的字串/[option]
全域替換指令為::%s/來源字串/目的字串/g
#[addr] 表示檢索範圍,省略時表示目前行。
如:「1,20」 :表示從第1行到20行;
「%」:表示整個文件,同「1,$」;
“. ,$” :從目前行到文件尾;
s : 表示替換操作
#[option] : 表示操作類型
如:g 表示全域替換;
c 表示進行確認
p 表示替代結果逐行顯示(Ctrl + L恢復畫面);
省略option時僅對每行第一個符合字串進行替換;
如果在來源字串和目的字串中出現特殊字符,需要用”\”轉義
下面是一些例子:
將That or this 換成This or that
:%s/\(That\) 或 \(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
—-
#將多個空格換成一個空格
:%s/ */ /g
—-
#使用空格替換句號或冒號後面的一個或多個空格
:%s/\([:.]\) * /\1 /g
—-
#刪除所有空白行
:g/^$/d
—-
#刪除所有的空白行和空白行
:g/^[ ][ ]*$/d
—-
在每行的開始插入兩個空白
:%s/^/> /
—-
##在接下來的6行結尾加入.
:.,5/$ /./
—-
#顛倒檔案的行序
:g/.*/m0O <=> :g/^/m0O
—-
#尋找不是數字的開始行,並將其移到檔案尾部
:g!/^[0-9]/m$ <=> g/^[^0-9]/m$
—-
#將檔案的第12到17行內容複製10字放到目前檔案的尾端
:1,10g/^/12,17t$
~~~~重複次數的作用
—-
#將chapter開始行下面的第二行的內容寫道begin文件中
:g/^chapter/.+2w>>begin
—-
#:/^part2/,/^part3/ g/^chapter/.+2w>>begin
—-
:/^part2/,/^part3/g/^chapter/.+2w>>begin|+ t$
以上是vim編輯器中全域替換指令的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!