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

來源:互聯網
上載者:User

試舉幾例如下:

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就不用游標定位在首行了


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.