折叠C++;vim中的功能(仅功能) 是否有可能使用折叠来折叠VIM中的C++函数?

折叠C++;vim中的功能(仅功能) 是否有可能使用折叠来折叠VIM中的C++函数?,vim,vi,Vim,Vi,我只想要折叠函数和类方法。我不想像标准的“set foldmethod=syntax”那样折叠类、名称空间、“if”和“for”语句等 有可能吗?Vim内置的C/C++语法折叠将{…}块折叠起来,而不管它们代表什么语法元素。唯一内置的配置是c\u no\u comment\u fold和c\u no\u if0\u fold。您需要的是语法扩展。由于C/C++语法非常灵活,识别名称空间、类和其他东西可能很棘手,除非您接受某些限制(例如,名称空间定义不缩进,类缩进一次,函数缩进两次) Vim内置了

我只想要折叠函数和类方法。我不想像标准的“set foldmethod=syntax”那样折叠类、名称空间、“if”和“for”语句等


有可能吗?

Vim内置的C/C++语法折叠将
{…}
块折叠起来,而不管它们代表什么语法元素。唯一内置的配置是
c\u no\u comment\u fold
c\u no\u if0\u fold
。您需要的是语法扩展。由于C/C++语法非常灵活,识别名称空间、类和其他东西可能很棘手,除非您接受某些限制(例如,名称空间定义不缩进,类缩进一次,函数缩进两次)

Vim内置了可选的折叠方法(cp.
:help'foldmethod'
),但我不知道C/C++有任何可选的折叠实现,因此您可能需要编写自己的折叠实现

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