Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 如何隐藏空行?_Vim_Folding_Code Folding - Fatal编程技术网

Vim 如何隐藏空行?

Vim 如何隐藏空行?,vim,folding,code-folding,Vim,Folding,Code Folding,我曾经使用位置列表(:lvimgrep)来显示缓冲区的内容,但最近我发现折叠是一种有趣的替代方法。我使用的是foldmethod=expr和foldexpr=getline(v:lnum)=~'。?1:0选项。所有非空行(又称段落)均折叠并用空行分隔。在这里您可以看到文件和。与位置列表相比,它的优点是显示了行的数量,并且不需要额外的缓冲区。然而,为了可读性,最好删除折叠之间的空白行,我不知道怎么做。手动折叠是可能的,但如果我们在foldexpr中包含空行,vim将把所有这些段落合并为一个折叠。如

我曾经使用位置列表(:lvimgrep)来显示缓冲区的内容,但最近我发现折叠是一种有趣的替代方法。我使用的是
foldmethod=expr
foldexpr=getline(v:lnum)=~'。?1:0
选项。所有非空行(又称段落)均折叠并用空行分隔。在这里您可以看到文件和。与位置列表相比,它的优点是显示了行的数量,并且不需要额外的缓冲区。然而,为了可读性,最好删除折叠之间的空白行,我不知道怎么做。手动折叠是可能的,但如果我们在
foldexpr
中包含空行,vim将把所有这些段落合并为一个折叠。如何将它们分开?它应该是什么样子。

您可以像这样将空行作为前一段的一部分:

:set foldexpr=strlen(getline(v:lnum))==0?'=':strlen(getline(v:lnum-1))?1:'>1'
如果当前行为空,请使用上一行的折叠级别(
=


否则,检查前一行:如果为空,则必须是新段落的开头。使用
>1
创建新的1级折叠。否则,这必须是现有段落的一部分;将其指定为折叠级别
1

如何从图像复制/粘贴文本?它并不意味着要复制。我想我应该贴很多文字来表达我的想法,然后我意识到图像会更具代表性。也许我应该只贴几行空白行。。。我的错,这很有效,谢谢。我认为这是不可能自动完成的,因为我试图返回不同的值(1,2,…)。