我经常遇到没有折叠的 C 代码。如果没有折叠,阅读它们会很烦人,尤其是长文件。我怎样才能折叠它们?

有帮助吗?

解决方案

要根据语法折叠

:set foldmethod=syntax

如果要手动做它在要折叠起来的位

:set foldmethod=manual

然后通过选择/移动并压紧的zf创建新的褶皱 e.g。

shift-v j j zf

(忽略空格)

编辑:也见此答案的征求意见缩进和标记foldmethods

其他提示

我想你可能混合的术语。你需要“包装”或“折叠”。包装是一个地方,不会通常适合在屏幕上,由于其长度线,包裹,即在屏幕上的几个连续的线所示(实际上,它是一个线,在几行 - 很难解释的,最好看的实践)。

在VIM包装是由

设置
:set wrap

将其打开,以及

:set textwidth=80

,以确定Vim应该自动换行(80个字符通常是一个很好的量度)。

折叠,另一方面是一个完全不同的问题。这是一个其中VIM折叠的几行代码(例如,函数)转换成一个代码行。它是提高代码的可读性非常有用。 Vim有多种折叠方式,你可以看到,如果所有的人,你

:help folding

您正在寻找的,我想会是这样,语法折叠什么,但我可能是错的。我建议你阅读帮助页面,这是不长,而且非常有用的。

我已经卷起折叠为C和C ++ 插件。这已经超出了与语法折叠完成的(可能是它可以改进,我不知道),并留下较少嘈杂,并没有真正有用的东西展现出来,相比于缩进和基于标记的折叠。

需要说明:为了有体面的反应时间,我不得不做出一些简化,有时结果相当混乱的(我们必须键入zx修复它)

这里是一个小截屏看插件如何折叠正确平衡的C ++源代码,其中当前没有被修改:(

“在这里输入的图像描述”

在六(相对于VIM)的回答是:

:set wm=1

此设置涡卷余量于一个字符的行的结束之前。这是不是与可变大小的窗口(其所作出的绿屏感时,它是很难改变的大小)。

世界上最好的规格

这意味着还有一个替代的方法来做到这在vim:

:set textwidth=30

请参阅: VimDoc用户手册第25.1节

在你可能要设置

:set foldmethod=syntax

但不要手动将在!这就是错过了的它具有数百种文件类型已经内置自定义设置Vim的最大特点之一。要获取的是,添加到您的〜/ .vimrc

filetype plugin on
filetype indent on

文件类型检测主要基于扩展,在这种情况下* .c文件。参见:帮助:对文件类型的更多信息。您还可以自定义这些基于文件类型设置。

其实,还有一个非常直接有效的方法,那就是使用 foldmethod = marker 并设置 foldmarker 成为 {,}. 。那么折叠结果将如下所示:

  1. 所有功能都折叠起来。基本上,它看起来就像IDE中的轮廓。(你也可以 set foldlevel=1或更多,如果您不想一开始就折叠所有内容)

enter image description here

  1. 这就是当您使用 level-1 via 打开普通函数时的样子 zo.

enter image description here

另外,按语法进行折叠需要一些额外的工作,这里有一个很好的方法 教程 关于它。但我认为折叠 marker={,} 已经足够了,最重要的是,它简单、整洁。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top