Vim
在vim / sed中用一個空行替換多個空行
問題或多或少說明了一切。我知道這
/^$/d
將刪除所有空行,但我看不出怎麼說“用一個空行替換兩個或多個空行”有任何想法嗎?
如果您不是為了其他用途而觸發 vim 或 sed,cat 實際上有一個簡單的內置方法來折疊多個空行,只需使用
cat -s
.如果您已經在 vim 中並想留在那裡,您可以通過內部搜尋和替換來執行此操作:
:%s!\n\n\n\+!^M^M!g
(^M 是換行符的視覺表示,您可以通過點擊Ctrl
+輸入v``Enter
),或者自己保存只需對 cat: 進行砲擊即可打字:%!cat -s
。
用於
\n
指示搜尋模式中的換行符。在替換文本或反向引用中使用Ctrl
+ 。M
參見:help pattern
和:help sub-replace-special
(連結自:help :s
)。%s/\(\n\n\)\n\+/\1/