VIM查詢替換歸納總結

2021-05-01 04:39:50 字數 3038 閱讀 4141

vim

中常用的替換模式

總結。 1

,簡單替換

表示式 替換

命令可以在全文中用乙個單詞替

換另乙個單詞:

:%s/four/4/g

"%" 範圍

字首表示在所有行中執行替

換。最後的

"g"

標記表示替

換行中的所有匹配點。

如果僅僅對當前行進行操作,那麼只要去掉%即可

"thirtyfour" 這樣的

單詞,上面的命令會出錯。

這種情況下,這個

單詞會被替換成

"thirty4"

。要解決這個

問題,用

"/<"

來指定匹配

單詞開頭:

:%s// 顯

然,這樣在處

理"fourty" 的時

候還是會出錯

。用"/>"

來解決這個問題

: :%s///4/g

如果你在

編碼,你可能只想替換注

釋中的"four"

,而保留代

碼中的。由於這很

難指定,

可以在替

換命令中加乙個

"c" 標記,

這樣,vim 會在每

次替換前提示你:

:%s///4/gc

2,刪除多餘的空格 要

刪除這些

每行後面多餘的空格,可以

執行如下命令:

:%s//s/+$//

命令前面指明範圍是

"%",所以

這會作用於整個檔案。

"substitute"

命令的匹配模式是

"/s/+$"。這

表示行末(

$)前的乙個或者多個(

/+)空格(

/s)。替

換命令的

"to"

部分是空的:

"//"。這樣

就會刪除那些匹配的空白字元。

3,匹配重複性模式 星號

項"*"

規定在它前面的

項可以重

復任意次。因此:

/a*

匹配"a"

,"aa"

,"aaa"

,等等。但也匹配

"" (

空字串),因為

零次也包含在內。星號

"*"

僅僅應用於那個

緊鄰在它前面的

項。因此

"ab*"

匹配"a"

,"ab"

,"abb","abbb"

,等等。如要多次重

復整個字串,那

麼該字串必須被

組成乙個項。

組成一項的

方法就是在它前面加

"/("

,後面加

"/)"

。因此這

個命令:

//(ab/)*

匹配: "ab"

,"abab"

,"ababab"

,等等。而且也匹配""。

要避免匹配空字串,使用

"/+"。這

表示前面一

項可以被匹配一次或多次。

/ab/+ 匹配

"ab"

,"abb"

,"abbb"

,等等。它不匹配

後面沒有跟隨

"b"

的"a"。

要匹配乙個可

選項,用

"/="。例如

: /folders/= 匹配

"folder"

和"folders"。

4,指定重複次數

要匹配某一

項的特定次數重

復,使用

"/"

這樣的形式。其中

"n"

和"m"

都是數字。在它前面的那個

項將被重

復"n"

到"m"

次(|inclusive|

包含"n"

和"m")

。例如:

/ab/ 匹配

"abbb"

,"abbbb"

以及"abbbbb"。

當"n" 省略時

,被預設為

零。當"m" 省略時

,被預設為

無限大。當

",m" 省略時

,就表示重複正好

"n"

次。例如:

模式匹配次數

/           0,1

,2,3

或4/           3,4

,5,等等

/          0 或1

,同/=

/           0

或更多,同*

/           1

或更多,同/+

/            3

5,多選一匹配

在乙個查詢模式中,"或

" 運算子是

"/|"

。例如:

/foo/|bar 這

個命令匹配了

"foo"

或"bar"

。更多的抉擇可以

連在後面:

/one/|two/|three 匹配

"one"

,"two"

或"three"。

如要匹配其多次重複,那

麼整個抉擇結構

須置於"/("

和"/)" 之間

: //(foo/|bar/)/+ 這

個命令匹配

"foo"

,"foobar"

,"foofoo"

,"barfoobar"

,等等。

再舉個例子:

/end/(if/|while/|for/) 這

個命令匹配

"endif"

,"endwhile"

和"endfor"。

VIM查詢替換歸納總結

vim中常用的替換模式總結。1,簡單替換表示式 替換命令可以在全文中用乙個單詞替換另乙個單詞 s four 4 g 範圍字首表示在所有行中執行替換。組成一項的方法就是在它前面加 後面加 因此這個命令 ab 匹配 ab abab ababab 等等。而且也匹配 要避免匹配空字串,使用 這表示前面一項可...

VIM查詢替換歸納總結

來自 1,簡單替換表示式 替換命令可以在全文中用乙個單詞替換另乙個單詞 s four 4 g 範圍字首表示在所有行中執行替換。最後的 g 標記表示替換行中的所有匹配點。如果僅僅對當前行進行操作,那麼只要去掉 即可 s 顯然,這樣在處理 fourty 的時候還是會出錯。用 來解決這個問題 s 4 g ...

VIM查詢替換歸納總結

vim查詢替換歸納總結 vim中常用的替換模式 總結。1 簡單替換 表示式 替換 命令可以在全文中用乙個單詞替 換另乙個單詞 s four 4 g 範圍 字首表示在所有行中執行替 換。最後的 g 標記表示替 換行中的所有匹配點。如果僅僅對當前行進行操作,那麼只要去掉 即可 thirtyfour 這樣...