我的文件看起來是這樣的:如何用一個命令刪除文檔中的所有空白新行?
Line number one
Line number two
Line number three
我想整個文件看起來像這樣:
Line number one
Line number two
Line number three
換句話說,刪除所有的空行。如何做到這一點?
我的文件看起來是這樣的:如何用一個命令刪除文檔中的所有空白新行?
Line number one
Line number two
Line number three
我想整個文件看起來像這樣:
Line number one
Line number two
Line number three
換句話說,刪除所有的空行。如何做到這一點?
嘗試:g/^$/d
,它將刪除所有空行。 g
表示global
,^$
是一個正則表達式,基本上意思是'匹配行以中間沒有任何內容開始和結束',而d
表示delete
。你可以混合和匹配,因爲你需要:)
另一個空間相關命令可能會派上用場,如果你有隨機空白是:%s/\s\+$//
,其修剪任何尾隨空格(如@Bernhard指出,$
操作裝置儘可能多您每行最多有一次出現,因此g
是不必要的)。
根據更新,可能的行已經包含空格,在這種情況下:g/^\s*$/d
應該工作。
謝謝!如何做相反的事情?換行後添加空行? – alexchenco
':%s/[\ r \ n] [\ r \ n] */&&/g'或者只用':%s/\ n/&& /'處理Unix文本文件 – reinierpost
非常感謝,想知道! – alexchenco
謝謝!但奇怪的是,大部分空行被刪除,但仍有一些(很少)。請看我的編輯。 – alexchenco
@alexchenco沒有問題!不確定是否打開了空白突出顯示,但可能會有其他空白。嘗試運行'g/^ \ s * $/d',看看它是否被刪除。 – RocketDonkey
嘿,謝謝! 'g/^ \ s * $/d'做到了。奇怪的是,這是因爲白色空間的拖延?我會在3分鐘過去後接受答案。順便說一下,如何恢復與Vim? (在每個新行後添加一個空行?) – alexchenco