vim中選擇匹配文字刪除技巧

2021-06-02 00:43:46 字數 1176 閱讀 2092

試舉幾例如下:

1. 如何只保留匹配內容行而刪除其他行?

:v/pattern/d

:help :v

2. 如何對每行只保留匹配內容而刪除這一行中的其它內容

:%s/^.*\(pattern\).*$/\1/g

3. 刪除包含特定字串的行

:g/pattern/d

4. 刪除包含特定字串的行,每次刪除前都提示

:%s/^.*pattern.*\n//c

5. 處理字串: /123/456/789/109/example.txt, 怎麼刪除到最後乙個/,然後得到example.txt ?

0dte

解釋:0       到行首

dte   刪到第乙個e

6. 處理字串: /123/456/789/ef/109/example.txt, 怎麼刪除到最後乙個/,然後得到example.txt ?

$t/d0

解釋:$     到行尾

t/    從後往前搜到第乙個/

d0   刪到行首

d/ex然後回車

解釋:d     刪除

/ex  搜到第乙個ex

整行匹配刪除

假如這些特定行的特徵開頭字串為「datetime」,那麼批量刪除這此行的方法是,用 vim 開啟日誌檔案,在命令模式下,鍵盤輸入:

:0,%s/^datetime.* //g

在正常模式下(按esc進入)按鍵

v進入視覺化模式,然後按鍵盤左右鍵或

h,l鍵即可實現文字的選擇。

其它相關命令:

v:按字元選擇。經常使用的模式,所以親自嘗試一下它。

v:按行選擇。這在你想拷貝或者移動很多行的文字的時候特別有用。

ctrl+v:按塊選擇。非常強大,只在很少的編輯器中才有這樣的功能。你可以選擇乙個矩形塊,並且在這個矩形裡面的文字會被高亮。

值得注意的是如果vim中使用自動換行,那麼直到你按enter換行前,vim都會將你之前輸入的內容視為一行而不是你看到的好幾行,按塊選擇時就會按vim中的行來選擇塊。

在選擇模式的時候使用上面所述的方向鍵和命令(motion)。比如,vwww,會高亮光標後面的三個詞。vjj 將會高亮當前行以及下面兩行。

全選的方法

v + g + $ 選定全部,不過前提是游標在首行的第乙個字母才可以,而使用ggvg就不用游標定位在首行了

vim的匹配刪除

vim的匹配刪除主要是在一些配置檔案中,刪除空行,注釋行 號開頭等 刪除含有特定字元的行等等。1.刪除含有 開頭的行 g d 匹配刪除含有特定字元的行就去掉 也可以匹配結尾 2.刪除空行 g d 3.刪除不含該字串的行 v pattern d 還有另一中方法 g pattern d 4.如何對每行只...

VIM單詞刪除技巧

今天突然間想嘗試使用一下emacs,結果折騰了半個晚上覺得還是放棄了。似乎,vim還是值得我堅持下去的,至少現在看來vim在我手中還是能夠做個編輯器使用。emacs使用上手難度似乎還是高了一點,我折騰了好半天還是沒能掌握最基本的操作。加上在我現在的windows上連續幾次宕機,emacs看來還是暫時...

vim中刪除技巧

vim中刪除技巧 s ctrl v enter g 刪除dos方式的回車 m s 刪除行尾空白 sort u 刪除重複行 s pdf new.pdf 只是刪除第乙個pdf s 刪除多行注釋 g d 刪除所有空行 g dd d 刪除不含字串 dd 的行 v dd d 刪除不含字串 dd 的行 g st...