HTML5 Boilerplate CSS(至少通过initializr)具有标记部分的注释,如下所示:
/* ==========================================================================
HTML5 Boilerplate styles - h5bp.com (generated via initializr.com)
========================================================================== */
有没有办法让 vim 将这些识别为折叠部分,以便:
/* ===
的第一行被识别为折叠的开始- 第二行,即
HTML5 Boilerplate styles - h5bp...
是折叠的名称 - 它会折叠所有 CSS,直到下一个标题
我知道我可以将 {{{1
> 放在这些注释的第二行,但它看起来仍然有点乱。
最佳答案
你想要的完全可能,但是很特殊,因此我只给你一般提示,而不是完整的解决方案。
对于折叠,这取决于您还有哪些其他折叠要求。您是否仍想折叠单个 CSS 定义(即 { ... }
block )?一般来说(除非您使用明确的折叠标记),您可以使用 syntax
或 expr
来表示 'foldmethod'
.
例如,CSS syntax by JulesWang已经支持部分折叠;你必须为你的样板部分扩展它(通过 :syntax Region ... Fold
)(并将其放入 ~/.vim/after/syntax/css.vim
).
或者,您可以编写自定义'foldexpr'
; :help Fold-expr
告诉您如何操作。
对于折叠的名称,由 'foldtext'
设置确定,它与 'foldexpr'
一样,连续计算 Vimscript 表达式。它是这样的,它检查样板 block 的开始,然后返回下一行,或者回退到默认值:
getline(v:foldstart) =~# '^\s*/\* =\+' ? getline(v:foldstart + 1) : foldtext()
关于Vim 折叠 HTML5 样板 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18878201/