具有VIM折叠的目录

Leo*_*sky 3 vim folding

很久以前有一个名为MultiEdit的编辑器.它具有我在所有强大的VIM中找不到的功能.在MultiEdit中,我可以按下一些热键,它会显示类似于目录(也就是缩写模式,也就是大纲)的内容,我只能在当前文件中看到所有函数的第一行(让它成为C源代码).然后我可以将光标移动到我需要的功能,按下回车后,模式将切换到正常状态,我将处于我需要的功能中.对于那些喜欢将多个功能放在一个文件中的人来说非常有用.此功能使用起来非常简单:一个配置选项用于输入正则表达式以选择标题行,一个热键用于模式切换.

VIM有折叠.但这是不同的.折叠隐藏文件的一部分并显示折叠线指示器.在内容列表显示的折叠中指定要隐藏的内容要困难得多:您需要在标题行开始折叠并在下一个标题行之前结束.这比简单的正则表达式选择标题更复杂.

我非常想要这个功能,我甚至编写了VIM宏来模拟这个MultiEdit行为,尽管我不太了解VIM.我写的部分是因为学习一门新语言和编写一个宏比找出VIM折叠模块的复杂性更容易.不幸的是,在升级VIM之后,这个宏现在不起作用(无限循环?).我很久以前就已经写过了,关于VIM我所知道的一切都被遗忘了,我现在无法修复它.(编辑:我修复了我的脚本.感谢@romainl的链接).

我的问题是如何在VIM中显示这样的内容表?

rom*_*inl 7

最近vimcast德鲁尼尔解释折叠的泛泛而这一次经历创造了一种折叠你(可能)之后的过程.

根据您使用的语言和编码风格,这些内容非常简单

set foldmethod=marker
set foldmarker={,}
Run Code Online (Sandbox Code Playgroud)

并且zM可以帮到你很长的路:

CSS折叠

如果您想自定义显示的信息,上面的第二个链接几乎肯定就是您所需要的.