Как включить автоматическое складывание в Vim? set foldmethod=syntax
, похоже, ничего не делает.
Как включить автоматические складки в Vim?
Ответ 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
для справки по всей теме складывания.
Ответ 2
JavaScript-фальцовка тоже не работала для меня. Я узнал, когда я сделал set syntax = javaScript (с капиталом S), он неожиданно сработал.
Ответ 3
Включение изменений в новые версии Vim изменилось (я использую vim 7.4). Теперь вы должны создать файл ~/.vim/ftplugin/javascript.vim
(на linux) и добавить свои инструкции по сворачиванию кода, как объяснено в ответе Эрика Джонсона. Для обнаружения типов файлов и загрузки плагинов для определенных типов файлов необходимо включить их в свой .vimrc
:
filetype plugin on