如何使用不同的语法语法高亮显示文件的一部分?

And*_*eev 10 vim

我安装了bnf.vim(突出显示BNF语法文件).

假设我的代码中有注释:

/* <BNF>

<S> := <A> | h
<A> := a | b | c | .

</BNF> */
Run Code Online (Sandbox Code Playgroud)

尽管整个文件的文件类型,Vim可以以某种方式编程以突出显示BNF语法中的注释吗?

Ing*_*kat 15

您可以使用我的SyntaxRange插件.

要么明确指定范围,例如

:10,20SyntaxInclude bnf
Run Code Online (Sandbox Code Playgroud)

或自动根据分隔模式:

:call SyntaxRange#Include('<BNF>', '</BNF>', 'bnf')
Run Code Online (Sandbox Code Playgroud)

  • @ o2genum啊,问题是`syntax/bnf.vim`没有设置变量(因为所有的语法脚本应该).我还将在下一个版本的插件中抑制错误. (2认同)