Складывание vim с помощью шаблонизатора laravel Blade

У меня проблема со свертыванием Vim при использовании механизма шаблонов laravel blade. Он отображает складные маркеры на странице. Итак, после обновления окна браузера я вижу /{{{/

Моя фальцовка настроена на маркер — это единственная настройка фальцовки в моем .vimrc.

Кто-нибудь знает, как это исправить? Спасибо.

Хорошо, вот обновление:

После ввода подробных команд в vim вот что я получил:

:verbose set fdm → foldmethod=marker
:verbose set frm? → foldmarker = {{{,}}}
:verbose set fdt? → foldtext=foldtext()

Я думаю, поскольку лезвие основано на регулярном выражении, оно не может правильно фильтровать маркеры сгиба?


person Miroslav Trninic    schedule 18.01.2014    source источник
comment
Ваш фреймворк, вероятно, задыхается от маркеров сгиба. Не могли бы вы опубликовать пример?   -  person romainl    schedule 18.01.2014
comment
Пожалуйста, опубликуйте пример кода и вывод :verbose set fdm? fdt? fmr?.   -  person benjifisher    schedule 18.01.2014


Ответы (1)


Идея маркеров папки заключается в том, что они содержатся в файле исходного кода, но в остальном нейтральны по отношению к языку программирования. Обычно это означает, что они должны быть содержаться внутри комментариев. Если вы все еще видите их в браузере, значит, вам не удалось их скрыть от шаблонизатора.

Вам нужно встроить их в комментарии, например. HTML: <!-- {{{1 -->. В этом вам может помочь Vim (на zf — создать складку) через опцию 'commentstring'.

Обратите внимание, что маркеры сгиба в основном используются только для личных, настраиваемых текстовых файлов (где вы хотите создать структуру сворачивания без надлежащего синтаксиса или другой формальной структуры). Для языков программирования лучше использовать syntax, expr или indent методы свертки. Это и проще, чем самостоятельное управление свертками, и не засоряет код специфичным для редактора мусором, который ему не принадлежит (или нравится вашим коллегам, не использующим 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
person Ingo Karkat    schedule 18.01.2014