Сворачивание блоков кода в 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.
Тэги: linux, terminal, vim, blocks, code, fold, folding
Категории: computer