Функциональность, на которую вы ссылаетесь, называется «сворачивание» (см. :help usr_28
). Команда z f используется для создания сгиба вручную и используется только в том случае, если для параметра foldmethod
установлено значение «marker» или «manual». В приведенных вами примерах вы создаете сгибы по областям, указанным текстовыми объектами a}
и a)
(см. :help usr_4.8
).
Для C вы можете setlocal foldmethod=syntax
, и области свертывания будут автоматически определяться правилами синтаксиса. Это должно быть сделано только для файлов C, либо установив параметр в ~/.vim/ftplugin/c.vim
, либо вставив следующий autocmd в ~/.vimrc
.
autocmd FileType c setlocal foldmethod=syntax
N.B. оба из них требуют, чтобы было включено определение типа файла (filetype on
), а решение ftplugin требует, чтобы были включены плагины типа файла (filetype plugin on
). Последний является надмножеством первого, поэтому вам не нужны обе команды в вашем ~/.vimrc
.
Что касается открытия / закрытия всех сгибов в текущем буфере, это команды z R и z M соответственно.