嵌入式语法高亮显示的Vim
-
21-08-2019 - |
题
我具有可以某些标签内包含的码块的自定义XML文件格式。
例如:
<Root>
<Sql> select * from foo </Sql>
<MoreJunk> ... </MoreJunk>
<Python><![CDATA[
def Bar(*args):
return False
]]></Python>
</Root>
我怎样才能得到Vim中使用SQL语法高亮显示<Sql>
标签内的文本和使用Python higlighting为<Python>
标签中的文字?
我知道的Vim已经可以做到这一点,因为它正确地强调的JavaScript的HTML文件内。
我试图检查HTML语法的文件,但不能弄清楚。
解决方案
有关您的XML与Python的例子,你会做这样的事情:
runtime! syntax/xml.vim
unlet b:current_syntax
syntax include @Python syntax/python.vim
syntax region pythonCode start=+<Python>+ keepend end=+/</Python>+ contains=@Python
这些线将包括XML语法和Python语法,并且指定一个蟒区域,其中VIM将使用而不是XML语法的Python语法...
当然,这一切都是在良好VIM记载。见的:他:SYN-包括的有关如何将语法文件
其他提示
这文件介绍如何编写自己的语法高亮。你或许应该能够找出HTML语法高亮是如何工作的使用JavaScript,与作为参考。
不隶属于 StackOverflow