Vim中嵌入语法高压

我有一个自定义XML文件格式,它可以包含某些标签中的代码块.

例如:

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

如何让Vim对< sql>中的文本使用sql语法高亮显示.标签,并使用Python< Python>中的文本Python.标签

我知道Vim可以这样做,因为它正确地突出了HTML文件中的Javascript.

我尝试检查HTML语法文件,但无法弄清楚.

对于您使用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语法,并指定一个python区域,其中VIM将使用Python语法而不是XML语法…

当然,这一切都在VIM中有很好的记录.见:他:syn-include如何包括语法文件.

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...