Ответ 1
Чтобы разрешить складки на основе синтаксиса, добавьте к вашему .vimrc
что-то вроде следующего:
set foldmethod=syntax
set foldlevelstart=1
let javaScript_fold=1 " JavaScript
let perl_fold=1 " Perl
let php_folding=1 " PHP
let r_syntax_folding=1 " R
let ruby_fold=1 " Ruby
let sh_fold_enabled=1 " sh
let vimsyn_folding='af' " Vim script
let xml_syntax_folding=1 " XML
Сводка на основе синтаксиса определяется в файлах синтаксиса языка, которые находятся в синтаксисе $VIM/. Но некоторые языки не имеют правил складывания, встроенных в свои файлы синтаксиса. Например, Python. Для этих языков вам нужно загрузить что-то из http://vim.sf.net, которое делает складки. В противном случае вам придется использовать складки на основе отступов. Для этого вы, скорее всего, захотите добавить в файл .vimrc следующее:
set foldmethod=indent
set foldnestmax=2
Другие виды складывания
Существует 6 типов складок:
manual manually define folds
indent more indent means a higher fold level
expr specify an expression to define folds
syntax folds defined by syntax highlighting
diff folds for unchanged text
marker folds defined by markers in the text
Лично я использую только синтаксические складки. Обычно я просто хочу сбросить метод и не сбрасывать каждый уровень отступа. Непоследовательный отступы и странно отформатированный старый код на работе часто затрудняют или затрудняют отступ отложения. Добавление меток в документ является утомительным, и люди, которые не используют Vim, не будут поддерживать их при редактировании документа. Ручные складки отлично работают, пока кто-то не редактирует ваш код в исходном коде, и все ваши складки теперь не в том месте.
Подробнее чтение
- См.
:help fold-methods
, чтобы узнать подробности различных методов сгиба. - См.
:help folding
, чтобы узнать команды клавиатуры для манипулирования сгибами. - См.
:help folds
для справки по всей теме складывания.