HTML5 Boilerplate CSS(至少通过initializr)有标记部分的注释,如下所示:
/* ==========================================================================
HTML5 Boilerplate styles - h5bp.com (generated via initializr.com)
========================================================================== */
有没有办法让vim将这些识别为折叠部分,以便:
/* ===
的第一行被认为是折叠的开头HTML5 Boilerplate styles - h5bp...
是折叠的名称我知道我可以将{{{1
放在这些评论的第二行,但它看起来仍然有些混乱。
答案 0 :(得分:3)
你想要什么是完全可能的,但很特别,因此我只给你一般提示,而不是一个完整的解决方案。
对于折叠,它取决于您有哪些其他折叠要求。您是否仍想折叠单个CSS定义(即{ ... }
块)?一般情况下(除非您使用明确的折叠标记),您可以syntax
使用expr
或'foldmethod'
。
例如,CSS syntax by JulesWang已经支持一些折叠;您必须为您的样板部件扩展(通过:syntax region ... fold
)(并将其放入~/.vim/after/syntax/css.vim
)。
或者,您可以编写自定义'foldexpr'
; :help fold-expr
告诉你如何。
对于折叠的名称,由'foldtext'
设置确定,与'foldexpr'
一样,持续评估Vimscript表达式。它是这样的,它检查样板块的开始,然后返回下一行,或者回到默认值:
getline(v:foldstart) =~# '^\s*/\* =\+' ? getline(v:foldstart + 1) : foldtext()
答案 1 :(得分:0)
setlocal foldmethod=marker
setlocal foldmarker=/*,*/
应该有效,但会限制你对评论的折叠能力。
如果您对此感到满意,可以将这些行添加到:
~/.vim/after/ftplugin/css.vim
对于更智能的折叠,我建议观看this screencast by Drew Neil。