標籤:style 使用 ar strong 檔案 sp on c new
一般替換
s/old/new --- 替換當前行的第一個匹配項
s/old/new/g ---- 替換當前行所有的匹配項
number1,number2-s/old/new/g ---- 替換從number1行到number2行中所有的匹配項
1,$s/old/new/g = %s/old/new/g ----- 替換整個檔案的所有匹配項
確認再替換
在替換命令後面加個c(confirm),例如1,30s/his/the/gc。每次找到匹配項時會提示是否需要替換,輸入y,Enter確認替換,不需要替換直接Enter跳過
context-sensitive 替換 g/pattern/s/old/new/g
第一個g表示需要從所有行尋找pattern,後面的g表示當前行所有的匹配項都替換。
如果pattern和old是一樣的,old可以省略,這樣的命令等同於%s/old/new/g
Regex匹配規則
. ---- 匹配除分行符號以外的所有字元
* ---- 匹配0個或多個字元
^ ---- 匹配一行的開始
$ ---- 匹配一行的結束
\ ---- 反意字元,表示後面的字元為一個常規字元。
\( \) --- 預留位置,一行最多可以有9個。例如\(That\) or \(this\) \(That\)為1號,後面需要用到That就可以使用\1來代替,\(this\)為2號,是用\2來調用。例如把That or this 替換為this or That則可以用命令%s/\(That\) or \(this\)/\2 or \1
\< /> ---- 匹配以字元開頭或結尾的單詞,例如\<ac 匹配以ac開頭的單詞,ac/>則匹配以ac結尾的單詞
~ ---- 在尋找中匹配上一個使用的Regex。例如開始尋找/The,現在想尋找/Then,則可以使用/~n來代替/Then
vim使用指北 ---- Global Replacement