Инструменты пользователя

Инструменты сайта


vim:folding

Это старая версия документа!


# Сворачивание (folding) в VIM

Часто когда работаешь с большими файлами, особенно исходниками программ, тяжело окинуть быстрым взглядом все методы/функции т.к. их тело мешает обзору. В VIM есть удобная возможность _сворачивать текстовые блоки в одну линию_ (для кода – все тело метода сворачивается в заголовок метода).

VIM может сворачивать текстовые блоки по следующим правилам:

- ручное сворачивание по метке (описано в :help fold-manual) - сворачивание на основании отступов в начале строк (описано в :help fold-indent) - использование выражений для сворачивания (описано в :help fold-expr) - сворачивание на основании синтаксиса (описано в :help fold-syntax) - использование разницы – сворачивание не изменившегося текста (описано в :help fold-diff) - вставка в тексте маркеров для обозначения точки сворачивания (описано в :help fold-marker)

Для начала использования необходимо _активировать возможность сворачивания_ :set foldenable Затем _задать правило для сворачивания_, например, :set foldmethod=indent (сворачивание на основании отступов в начале строк)

## Команды для создания свертки блоков

zf#j - создает свертку от текущей позиции до # строк вниз

zf/подстрока - создает свертку от текущей позиции и до первой найденной подстроки

v/V и zf - выделение блока и создание свертки

## Команды для управления

==zc== – свернуть блок

==zo== – развернуть блок

==zM== – закрыть все блоки

==zR== – открыть все блоки

==za== – инвертирование (если открыто – закрыть, если закрыто – открыть)

==zj== - переход к следующей свертке

==zk== - переход к предыдущей свертке

==zd== - удалить свертку под курсором

==zD== - удалить все свертки

==[z== - перейти к началу текущей свертки

==]z== - перейти к концу текущей свертки

После закрытия vim все свертки забываться, для сохранения сверток в открытом файле используется команда ==:mkview==, для загрузки - ==loadview==.

#vim

/var/www/html/dokuwiki/data/attic/vim/folding.1658696217.txt.gz · Последнее изменение: (внешнее изменение)