Macos 如何防止旧的vim插件覆盖我的vim插件?

Macos 如何防止旧的vim插件覆盖我的vim插件?,macos,vim,homebrew,macvim,pathogen,Macos,Vim,Homebrew,Macvim,Pathogen,我已经通过自制软件安装了MacVim,并通过将病原体.vim文件下载到我的~/.vim/autoload目录安装了病原体。我已将vim perl插件克隆到~/.vim/bundle目录中 但是,当我打开一个perl文件时,它使用MacVim附带的perl.vim文件中的语法高亮显示,而不是我下载的插件。这是:scriptnames的输出。注意,MacVim提供的所有插件都在那里,我认为最后列出的perl插件覆盖了我下载的插件: 1: /usr/local/Cellar/macvim/7.4-73

我已经通过自制软件安装了MacVim,并通过将病原体.vim文件下载到我的
~/.vim/autoload
目录安装了病原体。我已将vim perl插件克隆到
~/.vim/bundle
目录中

但是,当我打开一个perl文件时,它使用MacVim附带的
perl.vim
文件中的语法高亮显示,而不是我下载的插件。这是
:scriptnames
的输出。注意,MacVim提供的所有插件都在那里,我认为最后列出的perl插件覆盖了我下载的插件:

1: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/vimrc
2: ~/.vimrc
3: ~/.vim/autoload/pathogen.vim
4: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/ftoff.vim
5: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/syntax/syntax.vim
6: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/syntax/synload.vim
7: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
8: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
9: ~/.vim/bundle/vim-javascript/ftdetect/javascript.vim
10: ~/.vim/bundle/vim-perl/ftdetect/mason-in-html.vim
11: ~/.vim/bundle/vim-perl/ftdetect/perl11.vim
12: ~/.vim/bundle/vim-ruby/ftdetect/ruby.vim
13: ~/.vim/bundle/vim-scala/ftdetect/scala.vim
14: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/menu.vim
15: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/autoload/paste.vim
16: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/ftplugin.vim
17: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/indent.vim
18: ~/.vim/colors/default.vim
19: ~/.vim/bundle/vim-scala/plugin/scala.vim
20: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/plugin/getscriptPlugin.vim
21: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/plugin/gzip.vim
22: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/plugin/matchparen.vim
23: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/plugin/netrwPlugin.vim
24: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/plugin/rrhelper.vim
25: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/plugin/spellfile.vim
26: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/plugin/tarPlugin.vim
27: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/plugin/tohtml.vim
28: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/plugin/vimballPlugin.vim
29: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/plugin/zipPlugin.vim
30: ~/.vim/bundle/vim-scala/after/plugin/help.vim
31: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/gvimrc
32: ~/.vim/bundle/vim-perl/syntax/perl.vim
33: ~/.vim/bundle/vim-perl/syntax/pod.vim
34: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/syntax/pod.vim
35: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/syntax/perl.vim
36: ~/.vim/bundle/vim-perl/ftplugin/perl.vim
37: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/ftplugin/perl.vim
38: ~/.vim/bundle/vim-perl/indent/perl.vim
39: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/Resources/vim/runtime/indent/perl.vim
这是我的
~/.vimrc
文件

set shell=/bin/sh

call pathogen#infect()

filetype off
syntax on
filetype plugin indent on
如果I
:so~/.vim/bundle/vim perl/syntax/perl.vim
,则文件语法正确高亮显示

如何防止MacVim绑定的脚本重写?

包含保护(
如果存在(“b:current_syntax”)
)应该防止默认Perl语法脚本产生任何影响(在您的自定义脚本获得源代码后)

作为一种解决方法,您可以将自己的脚本从
~/.vim/bundle/vim perl/syntax/perl.vim
移动到
~/.vim/bundle/vim perl/after/syntax/perl.vim
,或者使用

so ~/.vim/bundle/vim-perl/syntax/perl.vim

在它里面。

试着把
文件类型移出
上面的
调用病原体#infect()
。不,这没什么区别。在
:scriptnames
什么是
runtimepath
设置为?
runtimepath=~/.vim、~/.vim/bundle/default、~/.vim/bundle/vim-javascript、~/.vim/bundle/vim-perl、/usr/local/cill/macvim/7.4-73_1/macvim.app/Contents/Resources/vim/vim-files、,/usr/local/cillar/macvim/7.4-73_1/macvim.app/Contents/Resources/vim/runtime,/usr/local/cillar/macvim/7.4-73_1/macvim.app/Contents/Resources/vim/vimfiles/after,~/.vim/after
看起来像我的错误:(它正在加载语法,但有些语法被禁用,因为我没有将它放入
after/..