vim windows 10 为本机包管理器设置 packpath 选项

vim windows 10 为本机包管理器设置 packpath 选项

[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] 当我将 colorscheme 文件移动到

'C:\Program Files (x86)\Vim\vim81\pack' 

(具有相同的目录结构)它们工作正常(并出现在runtimepath命令的输出中)。

我的问题是为什么它们不能在我使用 packpath 选项在 vimrc 中设置的目录中工作?

答案1

您不应该pack在您的'packpath'设置中包含该组件,因为 Vim 会为您添加它。

你想要的只是:

:set packpath+=$HOME/vimlocal

或者更好的是,只使用现有的~/vimfiles并将插件存储在等等下。如果这样做,您根本~/vimfiles/pack/colors/start/color1不需要触摸。'packpath'

您可以查看,其中写道:

当 Vim 启动时,在处理完你的 后.vimrc,它会扫描所有目录中'packpath'的插件pack/*/start目录。首先将所有这些目录添加到'runtimepath'。然后加载所有插件。

重点是我。您可以看到这pack是 Vim 添加的路径组件,因此您不应该将其放在 中列出的路径中'packpath'。事实上,正如您所观察到的,Vim 包含的那些已经完全不包含pack,然而,pack正如您自己已经注意到的那样,这些目录正下方的目录将适用于包。

相关内容