Встроенный синтаксис Vim для сложения C/C++ { ... }
блоки, независимо от того, какой элемент синтаксиса они представляют. Единственная конфигурация, которая встроена, - c_no_comment_fold
и c_no_if0_fold
. Для чего потребуется расширение синтаксиса. Поскольку синтаксис C/C++ довольно гибкий, распознавание пространств имен и классов по сравнению с другими материалами может быть сложным, если вы не принимаете определенные ограничения (например, что определения пространства имен не отступаются, классы с отступом один раз, функции отступают дважды).
У Vim есть альтернативные методы сложения (cp. :help 'foldmethod'
), но я не знаю альтернативной реализации fold для C/C++, поэтому вам, возможно, придется написать свой собственный.
Другим подходом было бы принять дополнительную фальцовку и просто настроить то, что сбрасывается по умолчанию, например. через :setlocal foldlevel=1
.