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

时间:2008-11-20 15:09:05

标签: php plugins vim

此问题紧随this vim search question

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

set iskeyword-=$

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

:set isk-=$ 

每次加载PHP文件时。

有什么建议吗?

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

摘要

两个优秀的答案,谢谢!

我选择了tomalak,因为它的努力较少,并将以下内容添加到我的〜/ .vimrc

autocmd FileType php setlocal isk-=$

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

:help autocmd :help after-directory 也帮助了

3 个答案:

答案 0 :(得分:8)

添加包含:setlocal isk-=$

的{rtp} /after/ftplugin/php.vim

否则,您必须使用:verbose set isk或使用:scriptnames

来跟踪最后更改的位置

答案 1 :(得分:5)

我可能只会在set isk-=$中的语法高亮显示auto命令中添加$VIMRUNTIME\filetype.vim。不过,不知道这是不是最好的方式。

考虑一下......我认为在vimrc中进行适当的自动命令就足够了。

au   FileType php    set isk-=$

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

答案 2 :(得分:-1)

制作.vimrc的副本,例如.vimrc.ref

将副本放在另一个目录中。

然后找出为什么插件作者真的需要在没有:

的情况下破坏你的.vimrc
  1. 让你知道他们正在破坏它,
  2. 保存.vimrc文件的副本,以便轻松回滚。
  3. 编辑:让http://www.vim.org/了解那些在不让你知道的情况下会覆盖你的人!