带有laravel刀片模板引擎的vim折叠



我在使用laravel刀片模板引擎时遇到Vim折叠问题。它正在页面上显示折叠标记。因此,在刷新浏览器窗口后,我看到/{{{/

我的折叠设置为标记-这是我的.vimrc.中唯一的折叠设置

有人知道怎么解决吗?谢谢

好的,这里是更新:

在vim中输入详细命令后,我得到的是:

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

我在想,既然blade是基于regex的,它就不能正确地过滤文件夹标记?

foldmarks背后的想法是,它们包含在源代码文件中,但在其他方面与编程语言无关。这通常意味着它们必须包含在注释中。如果你仍然在浏览器中看到它们,那就意味着你没能从模板引擎中隐藏它们。

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

请注意,折叠标记大多仅用于个人自定义文本文件(您希望在没有正确语法或其他形式结构的情况下创建折叠结构)。对于编程语言,可以使用syntaxexprindent折叠方法。这比自己管理折叠更容易,而且它不会在代码中丢弃不属于那里的编辑器特定垃圾(或者像这样使用非Vim的同事?!)

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

:syntax region htmlFold start="<z(p|hd|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,htmlHd

最新更新