我具有可以某些标签内包含的码块的自定义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,与作为参考。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top