2014-11-13 8 views
0

나는 homebrew를 통해 MacVim을 설치했으며 pathogen.vim 파일을 내 ~/.vim/autoload 디렉토리에 다운로드하여 병원균을 설치했습니다. vim-perl 플러그인을 ~/.vim/bundle 디렉토리에 복제했습니다.vim 플러그인을 이전 플러그인으로 덮어 쓰지 않도록하려면 어떻게해야합니까?

그러나 펄 파일을 열면 MacVimand에 포함 된 perl.vim 파일의 강조 표시 구문을 사용합니다. 내 다운로드 한 플러그인은입니다. 이것은 :scriptnames의 출력입니다.

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 

만약 내가 :so ~/.vim/bundle/vim-perl/syntax/perl.vim 다음 파일 구문 강조를 제대로 : 모든 MacVim이 플러그인이 존재하고 내가 지난 나열된 펄 사람이 내 다운로드 플러그인을 덮어 쓸 생각 공급합니다.

MacVim 번들이 우선 적용되지 않도록하려면 어떻게해야합니까?

+0

위의'filetype off * * 위의''call pathogen # infect()'를 움직여보십시오. – romainl

+0

아니, 그 차이는 없었습니다. 파일들은 여전히': scriptnames'에 같은 순서로 있습니다. – cubabit

+0

'runtimepath'는 무엇으로 설정되어 있습니까? –

답변

0

포함 가드 (if exists("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 

~/.vim/after/syntax/perl.vim 스크립트를 만들 수 있습니다.