2014-01-18 79 views
0

我在使用laravel blade模板引擎时遇到Vim折叠问题。它在页面上显示折叠标记。让人耳目一新的浏览器窗口后,我看到/{{{/vim折叠laravel blade模板引擎

我的折叠设置为标志 - 它是唯一的折叠设置在我的.vimrc

任何人都知道如何解决这个问题? 谢谢。

确定这里是更新:

在vim进入冗长的命令后,这里是我的了:

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

我想到的是,因为刀片是基于正则表达式,它无法过滤正常foldmarkers?

+0

你的框架可能扼流圈foldmarkers你可以发布一个例子 – romainl

+0

请张贴一些示例代码和输出':verbose set fdm?fdt?fmr?'。 – benjifisher

回答

1

折叠标记背后的想法是它们包含在源代码文件中,但在编程语言方面是中性的。这通常意味着它们必须是,其中包含注释。如果您仍然在浏览器中看到它们,那意味着您无法将它们隐藏在模板引擎中。

您需要将它们嵌入注释中,例如HTML格式:<!-- {{{1 -->。 Vim可以通过'commentstring'选项来帮助你(在zf - 创建折叠)。

请注意,折叠标记大多只用于个人自定义文本文件(如果您想创建折叠结构而不具有适当的语法或其他正式结构)。对于编程语言,您宁可使用syntax,exprindent foldmethods。这比自己管理折叠更容易,并且它不会使用不属于此处的特定于编辑器的垃圾代码(或者使用您的非Vim使用的同事这样做?!)

如果您的模板引擎是基于HTML,这(与:setlocal foldmethod=syntax投入~/.vim/after/syntax/html.vim,在一起应该给你一些折叠:?

: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