几乎每个 VIM 配色方案中都有这个片段:
if exists("syntax_on")
syntax reset
endif
这也被列为在各种教程等中放入颜色方案的“推荐”事物。
但是,我已经对两者之间的区别进行了很多实验,并且只是简单的:
syntax reset
我找不到任何区别。如果启用了语法,则此命令正确地执行通常的语法重置魔术,但如果语法关闭,它似乎没有任何效果,或者给出任何错误。更重要的是,阅读 VIM 手册中关于语法高亮和颜色方案的整个部分,我看不出为什么syntax reset
如果没有设置“syntax_on”,一个普通的、不受保护的会有害的任何理由。
如果真是这样,那if exists("syntax_on")
守卫的目的是什么?是不是因为以前版本的 VIM 需要这样做,但至少在 7.3 中不再需要?还是我缺少一些微妙的角落案例?