2012-05-03 50 views
3

我要刪除一條線一個特定的行:This is an example,發生多次在文件中。我如何去做。如何刪除已出現在文件中多次在vim

感謝, 艾麗莎

+0

你想只刪除線恰好將你的字符串或包含它的字符串作爲子字符串? –

+0

不,我想刪除只有這個完整字符串的行 – Alisha

+0

這不是我的意思,它仍然不清楚你想要什麼。有3個選項(1)你想刪除整行'這是一個帶有額外字符的示例行嗎? (2)只有字符串'這是一個example'(額外characters'離開'線,或(3)完全不改變這條線,因爲它有多餘的字符 –

回答

2

您可以使用一個外部命令做到這一點:

:%!grep -v "This is an example" 

這過濾通過給定的命令整個文件。該grep -v命令選擇那些匹配給定的正則表達式的文件的所有行。

+1

值得一提的是,這將刪除其中有「這是一個例子」作爲一個子字符串的任何線路,目前還不清楚。 。 –

+0

這是真的。如果完全匹配只希望,用'「^這是一個例子$」' –

+0

如果該行是:'autoload_reg_data [I]。數據=爲0x0;'那麼這將是改變上述?命令 – Alisha

16

你可以這樣做:

:g/This is an example/d 
3
:%s/This is an example\n//gc 

% indicates all lines of a file 
s indicates pattern to be searched. 
g for global replacement 
c for confirmation on each replace 
3

如果你想刪除包含只有你能完全匹配的行:

:g/^This is an example$/d 
+0

我想你的意思是:在上述摹 – Alisha

+0

哎呀,你是對的編輯。 – Tassos

相關問題