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