2023-05-29 05:00:04

Vim删除空行

我可以运行什么命令来删除Vim中的空行?


当前回答

该函数只删除两个或多个空行,将下面的行放入vimrc中,然后使用\d调用函数

fun! DelBlank()
   let _s=@/
   let l = line(".")
   let c = col(".")
   :g/^\n\{2,}/d
   let @/=_s
   call cursor(l, c)
endfun
map <special> <leader>d :keepjumps call DelBlank()<cr>

其他回答

该函数只删除两个或多个空行,将下面的行放入vimrc中,然后使用\d调用函数

fun! DelBlank()
   let _s=@/
   let l = line(".")
   let c = col(".")
   :g/^\n\{2,}/d
   let @/=_s
   call cursor(l, c)
endfun
map <special> <leader>d :keepjumps call DelBlank()<cr>

在vim中使用perl:

这是正确的道路。Perl -pi -e s/^\s*$//g

:v/./d

or

:g/^$/d

:%!cat -s

如何删除所有空白行 : \ n \ n % s, M ^, g (这样做多次直到所有的空行都消失了) 如何删除所有空白行留下单一的空行 : % s。\ n \ n \ n, M ^ ^ M g (重复多次) 如何删除所有空白行留下两个空行在最大, : % s。\ n \ n \ n \ n, M M ^ ^ ^ M g (重复多次)

为了输入^M,我必须在窗口中control-Q和control-M

:g/^$/d

:g将在匹配正则表达式的行上执行命令。正则表达式是'blank line',命令是:d (delete)