我有一个脚本,它读取一个 HTML 文件并将出现的 替换为~%foo%~
Perl 设置的值。像这样的东西:
<span class="~%classname%~">~%hi_mom%~</span>
会在浏览器中产生类似的东西:
<span class="classyclass">Hello World</span>
对,所以我想使用 Vim 语法高亮来区分~%foo%~
HTML 中的出现。默认情况下,HTML 语法突出显示将生成 HTML 元素的属性值Magenta
,我希望该~%foo%~
部分为DarkMagenta
. 我走在正确的轨道上,因为如果我注释掉这些tokenQuoted
行(或标记行),我会得到想要的结果,但是匹配和突出显示都未注释,标记突出显示会覆盖tokenQuoted
突出显示。
syntax match token containedin=ALLBUT,htmlString,htmlValue '\~%[^%]\+%\~'
syntax match tokenQuoted containedin=htmlString,htmlValue '\~%[^%]\+%\~'
" tokenQuoted assumes htmlString/htmlValue (:highlight String) is Magenta
highlight token term=none ctermfg=White guifg=White
highlight tokenQuoted term=none ctermfg=DarkMagenta guifg=DarkMagenta
我正在使用的文件是在默认html.vim
通过
autocmd *.html ~/.vim/syntax/html.vim
in获取之后获取的.vimrc
。