覆盖语法突出显示设置

时间:2016-03-29 15:32:28

标签: vim

我在vim插件中有以下内容,并且我已将其移至.vimrc的末尾:

syn keyword javaScriptIdentifier const

但是,这不起作用,并且在JavaScript文件中未正确突出显示const。如果我在打开文件后运行:syn keyword javaScriptIdentifier const,那么然后就会正确突出显示。

我正在使用带有相当多插件的病原体,但我认为这些都在我的.vimrc结束之前运行。其中一些人正在使用after目录,但我在这些插件中看不到const。我也没有在系统JavaScript语法高亮显示中看到它。

有没有办法确保语法突出显示或其他操作优先?

1 个答案:

答案 0 :(得分:3)

syn放在vimrc中将永远不会有效,因为在更改语法突出显示时会清除现有的语法规则。考虑:

:set syntax=javascript

" Oops, this is a Python file, change the syntax
:set syntax=python

如果现有语法规则无法清除

,会发生什么?

您需要使用您似乎已熟悉的after目录,或使用自动命令:

autocmd Filetype javascript syn keyword javaScriptIdentifier const

您可以将自动命令视为与JavaScript中的事件大致相似,因为只要用户执行某些操作,它们就会运行一段代码。

  

我正在使用带有相当多插件的病原体,但我认为这些都在我的.vimrc结束之前运行

这取决于插件。您可以挂钩上面的自动命令,除此之外,许多插件使用autoload功能(意味着文件不会被加载,直到需要它为止)。