Vim 折叠 HTML5 样板 CSS?

标签 vim

HTML5 Boilerplate CSS(至少通过initializr)具有标记部分的注释,如下所示:

/* ==========================================================================
   HTML5 Boilerplate styles - h5bp.com (generated via initializr.com) 
   ========================================================================== */

有没有办法让 vim 将这些识别为折叠部分,以便:

  • /* === 的第一行被识别为折叠的开始
  • 第二行,即 HTML5 Boilerplate styles - h5bp... 是折叠的名称
  • 它会折叠所有 CSS,直到下一个标题

我知道我可以将 {{{1> 放在这些注释的第二行,但它看起来仍然有点乱。

最佳答案

你想要的完全可能,但是很特殊,因此我只给你一般提示,而不是完整的解决方案。

对于折叠,这取决于您还有哪些其他折叠要求。您是否仍想折叠单个 CSS 定义(即 { ... } block )?一般来说(除非您使用明确的折叠标记),您可以使用 syntaxexpr 来表示 '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/

相关文章:

vim - 在 vim 中同时可视化选择两件事

Vim 拼写检查器无法识别连接的单词(德语)

vim - 您最喜欢的 256 色终端 vim 配色方案

vim - 如何 fzf vim/nvim 的最新文件,不是在 vim 内部,而是从终端

linux - 如何将多个帐户(计算机、登录名、密码)添加到我的 VIM .netrc 文件中?

vim - 类似FZF的方式快速切换目录?在 Vim FZF 中包含隐藏文件?

Vim格式选项-=或

linux - 通过 shell 脚本退出或关闭 vim

python - [1]+ Stopped vim foo.py 错误,如何解决?

python - 需要一些关于切换到 python3 的 vim 建议