Подтвердить что ты не робот

Как включить автоматические складки в Vim?

Как включить автоматическое складывание в Vim? set foldmethod=syntax, похоже, ничего не делает.

4b9b3361

Ответ 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