vim 搜尋取代功能

VI 的搜尋取代語法格式大致如下

:[範圍]s/[比對字串]/[取代字串]/[g,c,i]

範圍部分:

範圍表示法為開頭 , 結束

	假如我要從第 1 行到第 150 行,可以這樣下: 1, 150

	假如我要從第 1 行到最後一行,可以這樣下: 1, $

	假如我要設定全部範圍,可以這樣下: % (其實跟 1, $ 意義是一樣的)

	假如我要從游標所在行之後到最後一行,可以這樣下:., $

小寫 s 代表意義:

告訴VI我要做 substitute(置換) 動作

比對/取代字串部分:

大小寫有分,如果內容為特殊字元,需加上  (脫曳字元)

EX:換行符號 




假如我要設定的是一個"單元",前後需用 ( 和 ) 包起來,後面會說明詳細用法

g c i參數分別代表的意義:

這個部分是選擇性的,也就是額外控制項

由於 VI 對大小寫是有區別的,如果要忽略大寫小可以用 「i」(忽略) 這個參數來控制

如果不加上「g」這個控制項,VI只會把每行比對到的第一個做取代動作,加上「g」能確保每行的每個字都能被比對到

有時候,有些特殊的地方是你不想取代的,可以用「c」(確認) 這個參數來控制

	如此一來,每次比對到的時候,會詢問 (y/n/a/q/l/^E/^Y)? 這些參數

	y 是代表執行目前的取代。

	n 是跳過。

	a 代表 always ,就是從目前以後的取代都會執行。

	q 則是不要作取代,並且離開詢問要不要取代的狀態,並回到指令模式或原來的模式下。

	l 則是 last 的意思,就是目前這個取代執行後就離開詢問的取代模式,回到指令模式或原來的模式下。

	^E 表示往前一頁。

	^Y 表示往後一頁。

範例語法:

我要把文件中的所有 awei 置換成 AwEi

:%s/awei/AwEi/g

以上資料來自 http://awei791129.pixnet.net/blog/post/29353976-[linux][vi]-vi-or-vim-的搜尋取代功能

原文地址:https://www.cnblogs.com/youchihwang/p/8449327.html