You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为HTML注释内的PlantUML代码实现VIM语法高亮?

解决VIM中HTML注释内PlantUML代码高亮失效问题

问题根源在于VIM默认的HTML注释语法会把PlantUML代码里的-->识别为注释结束符,导致HTML注释提前终止,后续的PlantUML代码不在注释范围内,从而无法触发PlantUML语法高亮。

调整后的~/.vim/vimrc配置如下:

autocmd FileType xhtml
    \ syntax include @iPlantUML syntax/plantuml.vim |
    \ syntax region rPlantUML start=/\v^\s*@startuml\s*$/ end=/\v^\s*@enduml\s*$/ keepend fold contains=@iPlantUML contained |
    \ syntax clear htmlComment |
    \ syntax region htmlComment start=/<!--/ end=/-->/ keepend contains=rPlantUML,@htmlCommentGroup

配置关键点说明

  1. 重新定义HTML注释区域:先清除原有htmlComment规则,再重新定义让它包含rPlantUML区域。这样VIM解析时会优先处理rPlantUML内部的内容,不会把其中的-->当作HTML注释结束符。
  2. 优化PlantUML区域匹配:使用\v^\s*@startuml\s*$作为起始匹配规则,允许@startuml/@enduml前后存在空格,适配更多代码格式。
  3. 保留原有HTML注释语法:通过包含@htmlCommentGroup,确保HTML注释内非PlantUML内容的语法高亮不受影响。

替换原配置后重启VIM,HTML注释内的PlantUML代码即可正常高亮。

内容的提问来源于stack exchange,提问作者Cody

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 14:20:28