html - 在 vim 中动态检测 HTML5

标签 html syntax-highlighting vim

这与 How to update Vim to color-code new html elements 有关,但我希望语法高亮显示仅在它在文件的第一行检测到 html5 doctype 时突出显示元素。有没有简单的方法可以做到这一点?

最佳答案

您可以在 html.vim 语法文件的顶部添加类似这样的内容:

if getline(1) =~? '<!DOCTYPE html>'
  let b:html5 = 1
else
  let b:html5 = 0
endif

然后在整个语法文件中,您可以使用 if b:html5 检查当前缓冲区是否使用了 html5。

if b:html5
  " new html 5 tags
  syn keyword htmlTagName contained video canvas
endif

关于html - 在 vim 中动态检测 HTML5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3579281/

相关文章:

c++ - 为 libstdc++ 生成 CTAGS(来自当前的 GCC)

vim - 在vim中打开文件后返回目录浏览

javascript - 图像对象裁剪并在 Canvas 中心绘制

jquery - 如何使用 jquery 和 HTML 按钮隐藏/显示 div 内的所有内容?

php - 使用下拉菜单从表单插入表格

javascript - HTML 不会呈现代码块

Javascript/JQuery 从表格的输入框中获取值

css - Netbeans 语法高亮滞后

c++ - xcode 10 和 11,没有高级语法着色 (c++)

vim - 如何在 vimrc 文件中连接环境变量