Свернуть комментарии и все функции в vim / gvim - PullRequest
9 голосов
/ 16 ноября 2009

Я новичок в vim, и я не смог найти в интернете, как свернуть функции, и я выяснил, как свернуть список аргументов в C с zfa} и zfa). но я не могу понять, как свернуть разделы комментариев. Как мне это сделать?

Второй вопрос, но связанный, есть ли способ свернуть все функции / списки аргументов / комментарии в файле одновременно?

Ответы [ 3 ]

21 голосов
/ 16 ноября 2009

Функциональность, на которую вы ссылаетесь, называется «сворачивание» (см. :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 соответственно.

5 голосов
/ 18 мая 2012

Добавьте следующие параметры в ~ / .gvimrc:

"folding settings
set foldmethod=indent   "fold based on indent
set foldnestmax=10      "deepest fold is 10 levels
set nofoldenable        "dont fold by default
set foldlevel=1         "this is just what i use

Тогда вы можете переключать фолд с помощью ZA. Вы можете сложить все с помощью zM и развернуть все с помощью zR. zm и zr могут быть использованы для правильного сгиба. Всегда помните всемогущий файл справки в «help: fold», если вы застряли.

Источник: http://smartic.us/2009/04/06/code-folding-in-vim/

0 голосов
/ 16 ноября 2009

Предполагая, что вы настроили свои области сгиба так, как вы хотите, установите foldlevel на желаемый уровень.

...