[1] vimrcの「packpath」オプションを使用して新しいパッケージディレクトリを作成しました。
:set packpath+=$HOME/vimlocal/pack
[2]コマンド:set packpath?を実行します。そして、ディレクトリは出力にリストされます:
packpath=
~/vimfiles,
C:\Program Files (x86)\Vim/vimfiles,
C:\Program Files (x86)\Vim\vim81,
C:\Program Files (x86)\Vim/vimfiles/after,
~/vimfiles/after,
~/vimlocal/pack
しかし、ディレクトリ内のプラグイン(colorschemes)はどれも機能しません。ディレクトリ構造は次のとおりです。
~/vimlocal/pack/colors/start/color1
~/vimlocal/pack/colors/start/color2
~/vimlocal/pack/colors/start/color3
[3]次のコマンドを実行します。
:set rtp?
ただし、ディレクトリは出力に表示されません。
runtimepath=
~/vimlocal,
~/vimfiles,
~\vimfiles\bundle\alduin-master,
~\vimfiles\bundle\color-plugins,
~\vimfiles\bundle\ctrlp.vim,
~\vimfiles\bundle\dbext.vim,
~\vimfiles\bundle\goyo.vim,
~\vimfiles\bundle\hexHighlight.vim-master,
~\vimfiles\bundle\limelight.vim,
~\vimfiles\bundle\manpageview,
~\vimfiles\bundle\markdown-preview.nvim-master,
~\vimfiles\bundle\supertab,
~\vimfiles\bundle\tabular,
~\vimfiles\bundle\ultisnips,
~\vimfiles\bundle\utl.vim,
~\vimfiles\bundle\vim-colorschemes,
~\vimfiles\bundle\vim-HiLinkTrace,
~\vimfiles\bundle\vim-markdown-master,
~\vimfiles\bundle\vim-zenroom2,
~\vimfiles\bundle\vimoutliner,
~\vimfiles\bundle\vimtweak-master,
C:\Program Files (x86)\Vim/vimfiles,
C:\Program Files (x86)\Vim\vim81,
C:\Program Files (x86)\Vim\vim81\pack\dist\opt\matchit,
C:\Program Files (x86)\Vim/vimfiles/after,
~\vimfiles\bundle\vim-markdown-master\after,
~\vimfiles\bundle\ultisnips\after,
~\vimfiles\bundle\tabular\after,
~/vimfiles/after
注意:パス '〜\ vimfiles\bundle ....'はPathogenによって設定されます。すべてのプラグインをそこから新しいpackpathディレクトリに移行しようとしています。
[4]カラースキームファイルをパックファイルに移動すると
'C:\Program Files (x86)\Vim\vim81\pack'
(同じディレクトリ構造で)正常に動作します(そしてruntimepathコマンドの出力に表示されます)。
私の質問は、packpathオプションを使用してvimrcで設定したディレクトリでそれらが機能しないのはなぜですか?
'packpath'
設定にpack
コンポーネントを含めないでください。Vimがそれを追加してくれるからです。
あなたが欲しいのは単純です:
:set packpath+=$HOME/vimlocal
または、さらに良いことに、既存の~/vimfiles
を使用して、プラグインを~/vimfiles/pack/colors/start/color1
などに保存します。そうすれば、'packpath'
に触れる必要はまったくありません。
packages のドキュメントを見ることができます。
Vimが起動すると、
.vimrc
を処理した後、'packpath'
内のすべてのディレクトリをスキャンして、pack/*/start
ディレクトリの下にあるプラグインを探します。まず、これらすべてのディレクトリが'runtimepath'
に追加されます。次に、すべてのプラグインがロードされます。
強調鉱山。 pack
はVimによって追加されたパスコンポーネントであることがわかります。したがって、'packpath'
にリストされているパスに含めるべきではありません。実際、ご覧のとおり、Vimに含まれているものにはすでにpack
がまったく含まれていませんが、すでに気付いているように、それらのすぐ下にあるpack
ディレクトリはパッケージで機能します。 。