如何在 Vim 中对嵌入另一种语言源代码中的一种语言的代码片段进行语法高亮?
我有一个自定义的 XML 文件格式,它可以在某些标签中包含代码块。
例如:
<Root>
<Sql> select * from foo </Sql>
<MoreJunk> ... </MoreJunk>
<Python><![CDATA[
def Bar(*args):
return False
]]></Python>
</Root>
如何让 Vim 对
标签内的文本使用 SQL 语法高亮显示,并对
标签内的文本使用 Python 高亮显示?
我知道 Vim 已经可以做到这一点,因为它可以正确突出显示 HTML 文件中的 Javascript。
我尝试检查 HTML 语法文件,但无法弄清楚。
I have a custom XML file format which can contain blocks of code within certain tags.
For example:
<Root>
<Sql> select * from foo </Sql>
<MoreJunk> ... </MoreJunk>
<Python><![CDATA[
def Bar(*args):
return False
]]></Python>
</Root>
How can I get Vim to use SQL syntax highlighting for the text inside <Sql>
tags and use Python higlighting for text inside <Python>
tags?
I know Vim can already do this because it correctly highlights Javascript inside HTML files.
I tried inspecting the HTML syntax file but couldn’t figure it out.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于带有 python 的 XML 示例,您必须执行以下操作:
这些行将包含 XML 语法和 python 语法,并指定一个 python 区域,其中 VIM 将使用 python 语法而不是 XML 语法...
当然,这一切都在 VIM 中有详细记录。 请参阅 :he :syn-include 了解如何包含语法文件。
For your XML with python example you would have to do something like this:
These lines will include the XML syntax and the python syntax, and the specify a python region where VIM will use the python syntax instead of the XML syntax...
Of course, all this is well documented in VIM. See :he :syn-include on how to include syntax files.
这个文档描述了如何编写自己的语法突出显示。 您应该能够弄清楚 HTML 语法突出显示如何与 javascript 一起工作,并将其作为参考。
This document describes how to write your own syntax highlighting. You should probably be able to figure out how the HTML-syntax highlighting works with javascript, with that as a reference.