main_syntax是什么意思?

OOO*_*OOO 6 vim

我正在写一个vim语法文件.我发现一个名为的变量main_syntax用于几个现有的语法文件中.但我找不到任何解释它的文件.

文档仅描述另一个变量,b:current_syntax用于告诉另一个脚本当前语法是什么.

看起来main_syntax有相同的含义.它是遗留变量吗?

Ing*_*kat 6

一些语法脚本支持通过导入到另一种语法中:syntax include,例如html中的javascript

main_syntax变量跟踪用户/文件类型实际设置的语法;设置此变量时,包含的语法脚本将省略现有语法项的清除。(而如果设置的话,语法脚本应该:finish没有任何操作。)另一个区别是,仅在实际语法加载过程中定义,而另一个仍然存在。b:current_syntaxb:current_syntaxmain_syntax

TL;DR:如果您自己支持包含/包含其他语法,请从现有语法复制条件样板,例如$VIMRUNTIME/syntax/html.vim; 如果没有,你可以忽略它。