在我的.vimrc文件中,我使用:
syntax on
今天,我正在浏览其他开发人员的一些.vimrc文件,我注意到一些使用:
syntax enabled
有区别吗?这些都只是使用不同的locution来实现相同的目标吗?
答案 0 :(得分:35)
对于syntax on
vs syntax enable
,帮助文件声明:
The ":syntax enable" command will keep your current color settings. This
allows using ":highlight" commands to set your preferred colors before or
after using this command. If you want Vim to overrule your settings with the
defaults, use: >
:syntax on
我在Vim中看到的行为似乎与上述帮助声明不符。
在使用一些空的.vimrc
进行本地测试并尝试使用on
,enable
以及突出显示命令的位置后,我无法弄清楚Vim实际在做什么(我测试过了)使用highlight ColorColumn guibg=#331111
和set colorcolumn=80
)。突出显示有时会被覆盖,有时不会。
我不再信任Vim,所以我只让语法设置一次,永远。这是我在.vimrc
中的内容:
if !exists("g:syntax_on")
syntax enable
endif
由于上述声明,我使用enable
它不会覆盖您的设置,但启动Vim时似乎没有任何区别。
您可以看到h g:syntax_on
显示on
和enable
来源同一个文件:
Details:
The ":syntax" commands are implemented by sourcing a file. To see exactly how
this works, look in the file:
command file ~
:syntax enable $VIMRUNTIME/syntax/syntax.vim
:syntax on $VIMRUNTIME/syntax/syntax.vim
如果您感到好奇,g:syntax_on
设置了$VIMRUNTIME/syntax/synload.vim
在没有插件/设置vim -u NONE
的情况下运行Vim也不会加载任何语法文件。