プラグインを無効にしてVimを開き、次のように入力:set rtp
します。
- Unixを使用している場合、デフォルトでは、最初が実行さ
~/.vim
れ、最後が実行され~/.vim/after
ます。
- Windowsを使用している場合、デフォルトでは、最初が実行さ
~/vimfiles
れ、最後が実行されます~/vimfiles/after
。
これは一種のVimの慣習です。after
ディレクトリは、Vimのデフォルトまたはプラグインの設定を強制的にオーバーライドするために使用されます。これは時々重要です。それが彼らがの最後である理由rtp
です。
Pathogenは実際に現在の変数の構造を解析し、それを使用してプラグインのパスを適切rtp
に挿入します。rtp
たとえば、私の:を見てrtp
ください
runtimepath=
~/.vim,
~\.vim\plugins\NERDCommenter,
~\.vim\plugins\NERDTree,
~\.vim\plugins\SameSyntaxMotion,
~\.vim\plugins\Tabular,
~\.vim\plugins\UltiSnips,
~\.vim\plugins\c.vim,
~\.vim\plugins\clang_complete,
~\.vim\plugins\CountJump,
~\.vim\plugins\delimitMate,
~\.vim\plugins\fswitch,
~\.vim\plugins\matchit,
~\.vim\plugins\matlab,
~\.vim\plugins\neocomplcache,
~\.vim\plugins\protodef,
~\.vim\plugins\python-syntax,
~\.vim\plugins\solarized,
~\.vim\plugins\syntastic,
~\.vim\plugins\vim-creole,
~\.vim\plugins\vim-latex,
~\.vim\plugins\vim-markdown,
~\.vim\plugins\vim-python-pep8-indent,
~/vimfiles,
D:\Applications\Vim/vimfiles,
D:\Applications\Vim,
D:\Applications\Vim/vimfiles/after,
~/vimfiles/after,
~\.vim\plugins\Tabular\after,
~\.vim\plugins\UltiSnips\after,
~\.vim\plugins\vim-markdown\after,
~/.vim/after
病原体がどのように経路を注入したかに注目してください。いくつかのプラグインにafter
ディレクトリがあり、それらを直前に配置していることが検出された~/.vim/after
ため、最後の単語は常に私のものです。
この病原体を達成するには、プラグインのパスを正しい順序で挿入するためのアンカーとして、 ~/.vim
and~/.vim/after
または~/vimfiles
and~/vimfiles/after
または~/stuff
and ~/stuff/after
(最後のケースについてはわかりません)のペアが必要です。
このペアのディレクトリが欠落している場合は、病原体に関する厄介な経験があります(前述のすべてを見つけて病原体のソースコードをざっと読むまでは、以前と同じように)-パスを挿入できないためです正しく。
今、あなたはによって提供された答えPrince Goulash
が完全に間違っていることがわかります:
- 最初の間違いは、彼が追加
~/.vim
したのrtp
に対し、彼はそれを追加すべきだったということです。
- 2番目の間違いは、彼がを追加しなかったこと
~/.vim/after
です。
正しい解決策は次のようになります。Windowsを含むさまざまなプラットフォームで作業する必要がある場合は、これを自分のプラットフォームに追加する必要があります.vimrc
(私もこれを保持しています。私のrtp
例から推測できます)。
if has('win32') || has('win64')
set runtimepath^=~/.vim
set runtimepath+=~/.vim/after
endif
このスニペットは、プラットフォーム間の一貫性を保証します。.vim
これで、WindowsでもUnixライクなディレクトリを使用でき、 vimfiles
IMOが醜くてひどいものであるがらくたを忘れることができます。
その後、あなたは電話します:
call pathogen#infect('plugins') " or wherever your plugins reside
call pathogen#helptags() " optional, but really cool
注: 'plugins'
は~/.vim/plugins
ディレクトリを示しているため、の相対値です~/.vim
。