我可以阻止vimrc中的设置被插件覆盖吗?

Ken*_*Ken 5 php vim plugins

这个问题来自于这个vim搜索问题

我在.vimrc中有一个设置,它将$排除在一个单词的有效部分之外:

set iskeyword-=$
Run Code Online (Sandbox Code Playgroud)

这适用于大多数文件,但不适用于PHP.我认为它被一个php插件覆盖,但由于插件是在.vimrc之后加载的,我无法弄清楚如何覆盖这个设置.我宁愿不打字

:set isk-=$ 
Run Code Online (Sandbox Code Playgroud)

每次我加载一个PHP文件.

有什么建议?

(如果重要的话,Ubuntu 8.04/Vim 7.1.138)

摘要

两个优秀的答案,谢谢!

我和tomalak一起去了,因为它的努力程度较低,并将以下内容添加到我的〜/ .vimrc中

autocmd FileType php setlocal isk-=$
Run Code Online (Sandbox Code Playgroud)

但也要感谢Luc Hermitte.将设置放在〜/ vim/after/ftplugin/php.vim文件中也有效.

:help autocmd:help after-directory也都有帮助

Luc*_*tte 8

添加包含的{rtp} /after/ftplugin/php.vim :setlocal isk-=$

否则,您必须跟踪最后更改的位置:verbose set isk,或者通过玩游戏来跟踪:scriptnames


Tom*_*lak 5

我可能只是添加set isk-=$我的语法突出显示auto命令$VIMRUNTIME\filetype.vim.不过,不知道这是否是最好的方式.

考虑一下......我认为在你的网站上有一个合适的自动命令就足够了vimrc.

au   FileType php    set isk-=$
Run Code Online (Sandbox Code Playgroud)

这在FileType设置后执行.自动命令按照给定的顺序执行,所以当你把它放到vimrc最后时它会执行最后的PHP文件.

  • @Ken:您可以在自己的vim目录中提出建议.永远不要搞乱系统的文件 (2认同)