我可以运行什么命令来删除Vim中的空行?
当前回答
如何:
:g/^[ \t]*$/d
其他回答
如果文本有双行距,则此命令将删除双行距,并将已存在的重复空行合并为单个空行。它在一行的开头使用临时分隔符^^^,因此如果这与您的内容冲突,请选择其他内容。只包含空格的行被视为空白。
%s/^\s*\n\n\+/^^^\r/g | g/^\s*$/d | %s/^^^^.*
:g/^$/d
:g将在匹配正则表达式的行上执行命令。正则表达式是'blank line',命令是:d (delete)
在vim中使用perl:
这是正确的道路。Perl -pi -e s/^\s*$//g
该函数只删除两个或多个空行,将下面的行放入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>
以下命令可以用来删除多个空行(将它们减少为单个空行),并保留单个空行:
:g/^\_$\n\_^$/d