20

特定のタグ内にコードのブロックを含めることができるカスタム XML ファイル形式があります。

例えば:

<Root>
    <Sql> select * from foo </Sql>
    <MoreJunk> ... </MoreJunk>
    <Python><![CDATA[
    def Bar(*args):
        return False
    ]]></Python>
</Root>

<Sql>タグ内のテキストに SQL 構文の強調表示を使用し、タグ内のテキストに Pythonの強調表示を使用するにはどうすればよい<Python>ですか?

HTMLファイル内のJavascriptを正しく強調表示するので、Vimはすでにこれを行うことができます。

HTML構文ファイルを調べてみましたが、わかりませんでした。

4

2 に答える 2

29

Python を使用した XML の例では、次のようにする必要があります。

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 構文を使用する Python 領域を指定します...

もちろん、これはすべて VIM で十分に文書化されています。構文ファイルをインクルードする方法については、:he :syn-include を参照してください。

于 2009-02-06T10:44:39.387 に答える
2

このドキュメントでは、独自の構文強調表示を作成する方法について説明します。おそらく、HTML 構文の強調表示が javascript でどのように機能するかを理解できるはずです。

于 2009-02-06T10:11:17.517 に答える