在vim中折叠C ++函数(并且仅函数)

时间:2016-08-25 09:24:33

标签: vim vi

是否可以使用折叠来折叠vim中的C ++函数?

我喜欢只折叠函数和类方法。我不想折叠类,名称空间," if" " for"语句等等,如标准" set foldmethod = syntax"确实

有可能吗?

1 个答案:

答案 0 :(得分:2)

Vim内置的C / C ++语法折叠折叠{ ... }块,无论它们代表什么语法元素。内置的唯一配置是c_no_comment_foldc_no_if0_fold。你想要什么需要语法扩展。由于C / C ++语法非常灵活,因此识别名称空间与类和其他内容可能会很棘手,除非您接受某些限制(例如,名称空间定义不缩进,类缩进一次,函数缩进两次)。

Vim有内置的替代折叠方法(cp。:help 'foldmethod'),但我不知道C / C ++的任何替代折叠实现,所以你可能必须自己编写。

另一种方法是接受额外的折叠,并且只是调整默认折叠的内容,例如通过:setlocal foldlevel=1