Идея, стоящая за пределами сгибателей заключается в том, что они содержатся в файле исходного кода, но в остальном нейтральны относительно языка программирования. Обычно это означает, что они должны быть , содержащиеся в комментариях. Если вы все еще видите их в браузере, это означает, что вы не смогли скрыть их от механизма шаблонов.
Вам необходимо встроить их в комментарии, например. HTML: <!-- {{{1 -->
. Vim может помочь вам с этим (на zf
- создать складку) через опцию 'commentstring'
.
Отметьте, что foldmarkers в основном используются только для персональных текстовых файлов (там, где вы хотите создать структуру сгибания без правильного синтаксиса или другой формальной структуры). Для языков программирования вы скорее используете либо syntax
, expr
, либо indent
foldmethods. Это проще, чем управлять сгибами самостоятельно, и это не мутирует код с конкретным редактором мусором, который там не принадлежит (или ваши коллеги, не участвующие в Vim!)
В случае, если ваш шаблонный движок основан на HTML, это (если положить в ~/.vim/after/syntax/html.vim
вместе с :setlocal foldmethod=syntax
должны дать вам складывание:.?
:syntax region htmlFold start="<\z(p\|h\d\|table\|colgroup\|thead\|tfoot\|tbody\|t[dhr]\|pre\|[diou]l\|li\|span\|div\|head\|script\|style\|blockquote\|form\)\%(\_s*\_[^/]\?>\|\_s\_[^>]*\_[^>/]>\)" end="</\z1\_s*>" fold transparent keepend extend containedin=htmlHead,htmlH\d
Ваша структура, вероятно, дроссели на foldmarkers Не могли бы вы опубликовать пример – romainl
Пожалуйста, пост некоторые примеры кода и тому вывод ': verbose set fdm? fdt? fmr?'. – benjifisher