区域的VIM语法导入

区域的VIM语法导入,vim,Vim,我得到了一个使用java代码块的文件,可以告诉语法文件中的vim为整个区域导入java.vim语法文件吗 例如: syn region javaCode start="<Java>" end="</Java>" hi link javaCode source ???? syn region javaCode start=“”end=“” hi-link Java源代码???? 最简单的方法就是 :set syntax=java 然后关注Java部分。但是,如果您想在

我得到了一个使用java代码块的文件,可以告诉语法文件中的vim为整个区域导入
java.vim
语法文件吗

例如:

syn region javaCode start="<Java>" end="</Java>" 
hi link javaCode source ????
syn region javaCode start=“”end=“”
hi-link Java源代码????
最简单的方法就是

:set syntax=java
然后关注Java部分。但是,如果您想在自己的语法文件中覆盖Java语法,
:syntax region
<代码>:帮助:syn include包含以下详细信息:

:syntax include @Java syntax/java.vim
:syntax region myJava start="<java>" end="</java>" contains=@Java
:语法包括@Java syntax/Java.vim
:语法区域myJava start=”“end=”“包含=@Java

PS:由于该命令很复杂(但在包含其他语法的语法脚本中也可以),而且很难记住,因此我编写了一个命令,以使设置此类区域更容易。举个例子,就是这个电话:

:call SyntaxRange#Include('<java>', '</java>', 'java', 'NonText')
:调用SyntaxRange#包括('','java','NonText')

该插件是为了偶尔临时使用。如果您编写自己的语法脚本,我会避免这种依赖关系,直接使用上面的语法命令。

谢谢!!!这真的很有帮助,尤其是链接到你在插件网页上提供的vim wiki;谢谢从你的回答中,我不完全确定你的确切目标是什么,所以我添加了多个备选方案。我的插件基于Wiki页面上的代码。我喜欢
:syntax include
:syntax region
位,但我正在尝试使用一个语法文件,如果设置了
b:current_syntax
,它将不会加载。如果我把它解开,就会有各种各样的错误。。有没有一个简单的方法来解决这个问题?@lorenzog:(暂时)让人不安的
b:当前的语法是一种方法。你可以问一个关于错误以及如何处理这些错误的问题。