vim sed匹配多个换行符并将其替换为一个换行符

时间:2011-05-31 01:43:20

标签: regex vim sed

我在使用vim时遇到了一些麻烦,gg = G不会删除额外的换行符,我正在尝试使用

:%s/\(\n\)\n\+/\1/g

但它不适用于整个文件。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:4)

这应该适用于vim ...

:g/^\s*$/d

答案 1 :(得分:0)

" Put the function bellow in your vimrc
" remove extra newlines keeping the cursor position and search registers
fun! DelBlank()
   let _s=@/
   let l = line(".")
   let c = col(".")
   :g/^\n\{2,}/d
   let @/=_s
   call cursor(l, c)
endfun
" the function can be called with "leader" d see :h <leader>
map <special> <leader>d :keepjumps call DelBlank()<cr>