Складывание на основе синтаксиса активируется установкой foldmethod
в syntax
:
" for all windows
set foldmethod=syntax
" for the current window
setlocal foldmethod=syntax
Затем в определении синтаксиса должно быть указано свертывание, что осуществляется путем предоставления аргумента fold
для областей, которые должны увеличить уровень сгиба. Цитировать документацию:
The "fold" argument makes the fold level increase by one for this item.
Example:
:syn region myFold start="{" end="}" transparent fold
:syn sync fromstart
:set foldmethod=syntax
This will make each {} block form one fold.
Таким образом, вам придется заходить в файлы синтаксиса для любых типов файлов, которые вас интересуют, и добавлять аргумент fold
в соответствующие регионы или, возможно, добавлять в свои собственные регионы. В вашем случае, похоже, что он довольно похож на сложенные в скобки синтаксис C / C ++, за исключением скобок.
Файлы синтаксиса по умолчанию обычно хранятся в /usr/share/vim/vimXX/syntax
в Linux (и предположительно <vim-directory>\vimXX\syntax
в Windows?), Где XX - номер версии без точки (например, 72). Они могут быть переопределены для всей системы файлами в /usr/share/vim/vimfiles/syntax
или для каждого пользователя файлами в ~/.vim/syntax
.