sou*_*rge 1194
:g/^$/d
Run Code Online (Sandbox Code Playgroud)
:g
将在与正则表达式匹配的行上执行命令.正则表达式是'空行',命令是:d
(删除)
nea*_*ime 176
发现它,它是:
g/^\s*$/d
Run Code Online (Sandbox Code Playgroud)
man*_*eka 50
:v/./d
Run Code Online (Sandbox Code Playgroud)
要么
:g/^$/d
Run Code Online (Sandbox Code Playgroud)
要么
:%!cat -s
Run Code Online (Sandbox Code Playgroud)
Dra*_*mon 42
以下内容可用于仅删除多个空行(将它们缩小为一个空行)并保留单个空白行:
:g/^\_$\n\_^$/d
Run Code Online (Sandbox Code Playgroud)
小智 14
如何删除所有空白行
:%s,\n\n,^M,g
Run Code Online (Sandbox Code Playgroud)
(做多次,所有空行都消失了)
如何删除所有空白行,留下SINGLE空行
:%s,\n\n\n,^M^M,g
Run Code Online (Sandbox Code Playgroud)
(多次这样做)
如何删除所有空行,留下两条空行AT MAXIMUM,
:%s,\n\n\n\n,^M^M^M,g
Run Code Online (Sandbox Code Playgroud)
(多次这样做)
为了输入^ M,我必须在windows中控制-Q和control-M
此函数仅删除两个或多个空行,将下面的行放在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>
Run Code Online (Sandbox Code Playgroud)
小智 5
我尝试了此页面上的一些答案,但其中很多对我不起作用。也许是因为我在 Windows 7 上使用 Vim(不要嘲笑,只是可怜我:p)?
这是我发现在 Windows 7 中的 Vim 上运行的最简单的一个:
:v/\S/d
Run Code Online (Sandbox Code Playgroud)
这是 Vim Wikia 上的较长答案:http://vim.wikia.com/wiki/Remove_unwanted_empty_lines