2009-02-20 62 views
35

我正在嘗試搜索特定模式的文本文件。如果出現這種模式,則意味着該行的其餘部分不需要,因此可以刪除。Vim搜索模式,如果發生刪除到行尾

我已經嘗試使用以下命令,但迄今爲止不成功。

:%s/{pattern}/d$ 

:g/{pattern}/d$ 

如果任何人有他們將不勝感激

回答

50

:%s/{pattern}.*//工作有什麼建議?

+0

我嘗試以下的整個文件以下行\\後刪除所有內容。示例行包含:測試黑色棕色藍色\\ c \ d \ k - - :%s /\\.*// – Stryker 2017-02-02 18:17:14

+0

不應該是`:%s /\\\\.*//`(反斜槓需要反斜槓) – mirod 2017-02-02 19:45:48

29

另外,以下也適用

:g/{pattern}/normal nd$ 

對於你想,我會mirod的建議去什麼。我發佈的內容更加靈活一些,可能在相似的情況下派上用場。

說明:

在每個行,其中模式匹配,執行下面的正常模式命令 'ND $'。當光標在行首時,'n'跳轉到模式,'d $'刪除到行尾。

-1
%s/\\(replay-pattern-later\\) pattern2/\1/gc 

這將重播pattern1但消除pattern2。使用「/ gc」全局應用(繼續)並提示每個事件。

1

要替換的模式和其他任何使用正則表達式通配符.*

:1,$s/pattern.*//g