gpt4 book ai didi

syntax-highlighting - 嵌套在 yaml 中的 html 的 VIM 语法高亮显示

转载 作者:行者123 更新时间:2023-12-03 23:43:23 29 4
gpt4 key购买 nike

给定一个 yaml包含 html 的文件, 像这样:

template        : |+ 
<div>Hello, world</div>

是否可以在 Vim(7.3.087 版)中使用 html 突出显示 html 部分语法高亮?

我找到了帖子 Different syntax highlighting within regions of a file ,这似乎正是我正在寻找的概念,但我无法使用 yaml 让它按预期工作.我希望能够执行以下操作(如链接中所建议):
" .vimrc
" include the code from the above link
call TextEnableCodeSnip('html' ,'#{{{html' ,'#html}}}', 'SpecialComment')

然后有 yaml例如:
 template        : |+  #{{{html
<div>Hello, world</div>
#html}}}

不幸的是,这不能按预期工作,即 html代码仍然完全突出显示 yaml .我还注意到,使用我的配置 (MacVim 55),这也不适用于文本文件。

我将不胜感激您的想法或建议,并感谢您的阅读。

最佳答案

查看我的相关问题:Trouble using Vim's syn-include and syn-region to embed syntax highlighting .我试图在 TeX 中嵌入 Python,但我认为该解决方案也可能适用于您的情况。

我想你想做这样的事情:

let b:current_syntax = ''
unlet b:current_syntax
runtime! syntax/yaml.vim

let b:current_syntax = ''
unlet b:current_syntax
syntax include @YaML syntax/yaml.vim

let b:current_syntax = ''
unlet b:current_syntax
syntax include @HTML syntax/html.vim
syntax region htmlEmbedded matchgroup=Snip start='#{{{html' end='#html}}}' containedin=@YaML contains=@HTML

hi link Snip SpecialComment
let b:current_syntax = 'yaml.html'

带有 runtime! 的块如果您的 YaML 已经突出显示,则可能不需要命令。

关于syntax-highlighting - 嵌套在 yaml 中的 html 的 VIM 语法高亮显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4829666/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com