Всем привет! Сегодня я расскажу про фолдинг. Это сворачивание нескольких строк текста в одну, которая выглядит примерно так:
+-- 10 строк: \documentclass[12pt,a4paper,twoside]{article}------------
То есть видим знак + как признак фолда, первую строку и --------, еще раз указывающую на фолд.
Фолдинг может быть:
- управляемый вручную: сворачиваете то, что хотите.
- по синтаксису (удобно для кода): сворачиваются блоки кода.
- по diff: в двух окнах два файла, сворачиваются строки без различий;
- по отступам: сворачиваются строки с одинаковым отступом. Применим не только для Питона, но и вообще --- если в тексте много вложенных структур.
- по выражению: регулярное выражение задает уровень фолдинга для каждой строки.
- по маркерам в тексте, которые Вим может для Вас и вставить.
set foldmethod=manual - это ручной фолдинг, по умолчанию. Рассмотрим только его: в остальных фолды появятся сами, а остальное так же, как в ручном.
Строка фолда ведет себя как строка. Если ее удалить, например, удалится весь текст в фолде, и весь, естественно, окажется в буфере.
Все команды фолдинга начинаются на z (но не наоборот: z+enter и z+. - не фолдинговые, а просто смещают текст на экране).
zf создает фолд, либо из выбранных с помощью V строк, либо командой движения после. Например, zf5j - фолд из 5 строк от текущей вниз.
zd удаляет фолд (но не его содержимое!). zD --- удаляет рекурсивно, то есть вместе с вложенными фолдами. zE удаляет все фолды в окне.
zo раскрывает фолд, а zc - закрывает. zO открывает все вложенные, zC - закрывает.
za закрывает открытые и открывает закрытые фолды. zA - с учетом вложенных.
команда :set foldcolumn=1 отводит один столбец символов слева на отмечание открытых фолдов колонкой из |
При поиске фолд открывается, если там нашлось искомое.
:foldopen открывает фолды, показывая диапазон строк. Если :foldopen! --- то вместе с вложенными. :foldclose --- парная команда.
[z, ]z --- прыжок к началу или концу открытого фолда. zj и zk --- прыжок вниз к началу следующего фолда или вверх к концу предыдущего.
:folddoopen и :folddoclose позволяют выполнить команду на открытых и закрытых фолдах.
:help folding и вы узнаете еще много полезного!