Не всегда удобно работать с цельным текстом (особенно если это какой-нибудь xml). Иногда удобно "свернуть" некоторые подробности текста (например, тело функции или цикл), что бы остальное смотрелось нагляднее. Как и у многих IDE, такая фича есть в vim'е. Называется она фолдинг (folding) и выглядит примерно так:
Для настройки фолдинга нужно как минимум разрешить его и указать метод определения границ сворачиваемого текста.
Метод indent означает, что границы будут определяться автоматически. Помимо этого метода есть еще:
Для того, что бы отображать колонку с плюсами/минусами и иерархию блоков нужно установить опцию FOLDCOLUMN. Ее значения изменяются от 2 до 14. Если вложенность больше, чем значение этой опции - в колонке добавляются дополнительные цифры, указывающие уровень.
Когда блок свернут, возле плюса выводиться текст, значение которого задается параметром FOLDTEXT:
Параметр FOLDLEVEL позволяет автоматически сворачивать блоки на различных уровнях вложенности. Если этот параметр равен 0, то по умолчанию все блоки будут свернуты, если 1 - то будут свернуты все уровни кроме самого верхнего и т.д.
Осталось рассмотреть основные команды:
Более подробное описание пожно получить у самого вима:
пятница, 11 января 2008 г.
Фолдинг в vim
Подписаться на:
Комментарии к сообщению (Atom)
7 комментариев:
О, пасибочки, а то у меня все руки не доходили по фолдингу мануал почитать :-)
Почитать навернно все же придется, потому что в самом простом случае (foldmethod=indent) фолды определяются не самым лучшим образом ;)
А плагина точно не нада в .vmrc подключать? а то у меня не получилось почемуто.
плагин точно не надо полключать, это фича вима, достаточно двух строчек:
:set foldenable
:set foldmethod=indent
у меня даже под виндой работает. попробуйте ввести это в командной строке.
ps: может вы прописали в .vmrc вместо .vimrc? :)
для perl что бы работал
set foldmethod=syntax
нужно также вставить
let perl_fold=1
Спасибо. Давно хотел узнать, какие же там комбинации для фолдинга, да всё руки не доходили.
Сейчас на радостях даже прописал
" F3 - раскрыть/свернуть блок кода
nmap za
vmap zai
imap zai
в свой .vimrc
Отправить комментарий