【发布时间】:2012-12-31 16:56:06
【问题描述】:
很久以前有一个编辑器叫MultiEdit。它有一个我在所有强大的 VIM 中都找不到的功能。在 MultiEdit 中,我可以按一些热键,如果我只能在当前文件中看到所有函数的第一行(让它成为 C 源代码),它会显示类似目录(又名压缩模式,又名大纲)的内容。然后我可以将光标移动到我需要的功能上,按回车后,模式将切换到正常状态,我将处于我需要的功能中。对于喜欢将许多功能放在一个文件中的人来说非常有用。这个功能使用起来非常简单:一个配置选项用于输入正则表达式以选择标题行,一个热键用于模式切换。
VIM 有折叠功能。但这是不同的。折叠隐藏部分文件并显示折叠线指示器。为目录显示指定要在折叠中隐藏的内容要困难得多:您需要从标题行开始折叠并在下一个标题行之前结束。这比选择标题的简单正则表达式更复杂。
我非常想要这个功能,我什至写了VIM macro 来模拟这种 MultiEdit 行为,尽管我不太了解 VIM。我写它的部分原因是学习一门新语言和编写宏比弄清楚 VIM 折叠模块的复杂性更容易。 不幸的是,升级 VIM 后,这个宏现在不起作用(无限循环?)。我很久以前就写过,我对VIM的了解都被遗忘了,我现在无法修复它。 (编辑:我已经修复了我的脚本。感谢@romainl 的链接)。
我的问题是如何在 VIM 中显示类似目录的内容?
【问题讨论】:
-
如果你想得到一个功能概览,你考虑过插件 taglist 或 tagbar 吗?