VI's search substitution language format is roughly as follows
: [Range]s/[string]/[replace string]/[g,c,i]
Areas:
範圍表示法為開頭 , 結束 假如我要從第 1 行到第 150 行,可以這樣下: 1, 150 假如我要從第 1 行到最後一行,可以這樣下: 1, $ 假如我要設定全部範圍,可以這樣下: % (其實跟 1, $ 意義是一樣的) 假如我要從游標所在行之後到最後一行,可以這樣下:., $
The small write s represents meaning:
告訴VI我要做 substitute(置換) 動作
Compare/replace string parts:
大小寫有分,如果內容為特殊字元,需加上 \ (脫曳字元)EX:換行符號 \n假如我要設定的是一個"單元",前後需用 \( 和 \) 包起來,後面會說明詳細用法
The meaning of the G C I parameters is:
這個部分是選擇性的,也就是額外控制項由於 VI 對大小寫是有區別的,如果要忽略大寫小可以用 「i」(忽略) 這個參數來控制如果不加上「g」這個控制項,VI只會把每行比對到的第一個做取代動作,加上「g」能確保每行的每個字都能被比對到有時候,有些特殊的地方是你不想取代的,可以用「c」(確認) 這個參數來控制 如此一來,每次比對到的時候,會詢問 (y/n/a/q/l/^E/^Y)? 這些參數 y 是代表執行目前的取代。 n 是跳過。 a 代表 always ,就是從目前以後的取代都會執行。 q 則是不要作取代,並且離開詢問要不要取代的狀態,並回到指令模式或原來的模式下。 l 則是 last 的意思,就是目前這個取代執行後就離開詢問的取代模式,回到指令模式或原來的模式下。 ^E 表示往前一頁。 ^Y 表示往後一頁。
Example Language method:
我要把文件中的所有 awei 置換成 AwEi:%s/awei/AwEi/g
The above information comes from the search and replace function of http://awei791129.pixnet.net/blog/post/29353976-%5blinux%5d%5bvi%5d-vi-or-vim-
Vim Search Substitution function