6

この質問には複数の投稿があることは知っていますが、Vimのこの単純な部分を機能させるために何の役にも立ちませんでした。病原体プラグインをVimで動作させたいのですが。いくつかのポイントとして、私はWindowsシステムに取り組んでいます。githubを介して病原体をダウンロードし、ディレクトリ.vimとサブディレクトリautoloadを作成しましたbundle。My.vimrcは、次で作成されたデフォルトですmkvimrc

call pathogen#infect()
syntax on
filetype plugin indent on

下部に追加されました。私が見た他の投稿への対処:

:set cp? = nocompatible

私が推測している1つの領域は、問題の一部です。実行した後、ディレクトリ:scriptnamesが取得されません。とディレクトリ.vimのみを取得します。これに対処するにはどうすればよいですか?私はこれに長い間携わってきましたが、これが他の人に明らかな場合はお詫び申し上げます。Vim\.vimrcvim73

4

3 に答える 3

9

Windowsでは、ローカルユーザー構成のデフォルトの場所はです$HOME/vimfiles。ファイルが入っている場合は、ファイルを.vimrcのruntimepathに$HOME/.vim移動するvimfilesか、追加する必要があります。.vim

set runtimepath+=~/.vim

また、Pathogenがのサブディレクトリにあるbundle場合は、デフォルトでVimが検索するだけなので、そこから明示的に実行する必要があります~/.vim/。電話の.vimrc前にこれを入れてください:pathogen#infect

runtime bundle/pathogen/autoload/pathogen.vim
于 2012-12-17T21:12:37.673 に答える
1

私にとっての解決策はpathogen.vim、リダイレクトに従わなかったためにダウンロードに失敗したため、再ダウンロードすることでした。tpopeのgithubで指定されたURLには、次の手順があります。

mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

pathogen.vimの内容は302リダイレクトページになるため、リダイレクトがダウンロードに失敗したことがわかります。リダイレクトに含まれているURLからダウンロードするだけです。例:

wget -N -O ~/.vim/autoload/pathogen.vim https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim
于 2014-07-07T16:35:46.710 に答える
0

プラグインを無効にして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ため、最後の単語は常に私のものです。

この病原体を達成するには、プラグインのパスを正しい順序で挿入するためのアンカーとして、 ~/.vimand~/.vim/afterまたは~/vimfilesand~/vimfiles/afterまたは~/stuffand ~/stuff/after(最後のケースについてはわかりません)のペアが必要です。

このペアのディレクトリが欠落している場合は、病原体に関する厄介な経験があります(前述のすべてを見つけて病原体のソースコードをざっと読むまでは、以前と同じように)-パスを挿入できないためです正しく。

今、あなたはによって提供された答えPrince Goulashが完全に間違っていることがわかります:

  1. 最初の間違いは、彼が追加~/.vimしたのrtpに対し、彼はそれを追加すべきだったということです。
  2. 2番目の間違いは、彼がを追加しなかったこと~/.vim/afterです。

正しい解決策は次のようになります。Windowsを含むさまざまなプラットフォームで作業する必要がある場合は、これを自分のプラットフォームに追加する必要があります.vimrc(私もこれを保持しています。私のrtp例から推測できます)。

if has('win32') || has('win64')
  set runtimepath^=~/.vim
  set runtimepath+=~/.vim/after
endif

このスニペットは、プラットフォーム間の一貫性を保証します。.vimこれで、WindowsでもUnixライクなディレクトリを使用でき、 vimfilesIMOが醜くてひどいものであるがらくたを忘れることができます。

その後、あなたは電話します:

call pathogen#infect('plugins') " or wherever your plugins reside
call pathogen#helptags()        " optional, but really cool

注: 'plugins'~/.vim/pluginsディレクトリを示しているため、の相対値です~/.vim

于 2012-12-18T22:12:48.143 に答える