病原体未在 GVIM 中加载插件
pathogen not loading plugins in GVIM
我在 Windows 10 上使用带有 GVIM 的病原体时遇到问题。
到目前为止,我已经在 C:/Program Files (x86)/
中安装了 GVIM,在 C:/Program Files (x86)/Vim/vimfiles/autoload
中安装了 vim-pathogen,在 C:/Program Files (x86)/Vim/vimfiles/bundle
中安装了我的插件。
我已将标准 _vimrc
重命名为 vimrc_original
,因此未被发现(摘录):
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
function MyDiff()
(<definition of function ...>)
我在我的用户目录C:/Users/User
(~\
)中放置了一个自定义.vimrc
,它被GVIM检测到(摘录):
set langmenu=en_US
let $LANG = 'en_US'
colorscheme industry
execute pathogen#infect()
filetype plugin indent on
syntax on
"<(non relevant part) ...>
然而,在调用 :scriptnames
时,我在 C:/Program Files (x86)/Vim/vimfiles/bundle
中的 none 个插件被列出;只有 GVIM 运行时文件夹中的脚本 C:/Program Files (x86)/Vim/vimM80/
:
1: ~\.vimrc
2: C:\Program Files (x86)\Vim\vim80\colors\industry.vim
3: C:\Program Files (x86)\Vim\vimfiles\autoload\pathogen.vim
4: C:\Program Files (x86)\Vim\vim80\filetype.vim
5: C:\Program Files (x86)\Vim\vim80\menu.vim
6: C:\Program Files (x86)\Vim\vim80\autoload\paste.vim
7: C:\Program Files (x86)\Vim\vim80\ftplugin.vim
8: C:\Program Files (x86)\Vim\vim80\indent.vim
9: C:\Program Files (x86)\Vim\vim80\syntax\syntax.vim
10,11: (other syntax files)
12: C:\Program Files (x86)\Vim\vim80\plugin\getscriptPlugin.vim
13-22: (other plugin files)
23: C:\Program Files (x86)\Vim\vim80\plugin\zipPlugin.vim
为什么我的自定义插件 C:/Program Files (x86)/Vim/vimfiles/bundle
没有被病原体加载,而只有 GVIM 的运行时文件夹 C:/Program Files (x86)/Vim/vimM80/
中的插件?
作为测试,我无法打开 NERDTree,但我的键盘映射有效; .vim检测到 rc 但未检测到插件。
注.
我已经尝试按照 this guide 中提到的步骤进行操作,但无济于事。唯一的区别是我在程序文件中安装了 GVIM,而不是我的主文件夹,这与我的情况无关。
更新
看到 set runtimepath?
的结果时:
runtimepath=~/vimfiles,~\vimfiles\bundle\ale,~\vimfiles\bundle\ctrlp.vim,~\vimfiles\bundle\jscheck,~\vimfiles\bundle\neosnippet.vim,~\vimfiles\bundle\nerdtree,~\vimfiles\bundle\omnisharp-vim,~\vimfiles\bundle\tlib_vim,~\vimfiles\bundle\tsuquyomi,~\vimfiles\bundle\typescript-vim,~\vimfiles\bundle\vim-addon-mw-utils,~\vimfiles\bundle\vim-airline,~\vimfiles\bundle\vim-dispatch,~\vimfiles\bundle\vim-markdown,~\vimfiles\bundle\vim-snipmate,~\vimfiles\bundle\vimproc.vim,~\vimfiles\bundle\YouCompleteMe,C:\Program Files (x86)\Vim/vimfiles,C:\Program Files (x86)\Vim\vim80,C:\Program Files (x86)\Vim/vimfiles/after,~/vimfiles/after
我想病原体毕竟起作用了。但我不明白为什么插件无法访问。如果插件在 Vim 的 runtimepath
中,这意味着 Vim 知道在哪里寻找插件,据我所知。
C:\Program Files (x86)\Vim\
禁止进入。定制应该发生在 %USERPROFILE%\vimfiles
而不是其他地方:
%USERPROFILE%\vimfiles\vimrc <-- your vimrc
%USERPROFILE%\vimfiles\autoload\pathogen.vim <-- the pathogen script
%USERPROFILE%\vimfiles\bundle\ <-- your plugins
有关一般建议,请参阅 this repo。
我在 Windows 10 上使用带有 GVIM 的病原体时遇到问题。
到目前为止,我已经在 C:/Program Files (x86)/
中安装了 GVIM,在 C:/Program Files (x86)/Vim/vimfiles/autoload
中安装了 vim-pathogen,在 C:/Program Files (x86)/Vim/vimfiles/bundle
中安装了我的插件。
我已将标准 _vimrc
重命名为 vimrc_original
,因此未被发现(摘录):
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
function MyDiff()
(<definition of function ...>)
我在我的用户目录C:/Users/User
(~\
)中放置了一个自定义.vimrc
,它被GVIM检测到(摘录):
set langmenu=en_US
let $LANG = 'en_US'
colorscheme industry
execute pathogen#infect()
filetype plugin indent on
syntax on
"<(non relevant part) ...>
然而,在调用 :scriptnames
时,我在 C:/Program Files (x86)/Vim/vimfiles/bundle
中的 none 个插件被列出;只有 GVIM 运行时文件夹中的脚本 C:/Program Files (x86)/Vim/vimM80/
:
1: ~\.vimrc
2: C:\Program Files (x86)\Vim\vim80\colors\industry.vim
3: C:\Program Files (x86)\Vim\vimfiles\autoload\pathogen.vim
4: C:\Program Files (x86)\Vim\vim80\filetype.vim
5: C:\Program Files (x86)\Vim\vim80\menu.vim
6: C:\Program Files (x86)\Vim\vim80\autoload\paste.vim
7: C:\Program Files (x86)\Vim\vim80\ftplugin.vim
8: C:\Program Files (x86)\Vim\vim80\indent.vim
9: C:\Program Files (x86)\Vim\vim80\syntax\syntax.vim
10,11: (other syntax files)
12: C:\Program Files (x86)\Vim\vim80\plugin\getscriptPlugin.vim
13-22: (other plugin files)
23: C:\Program Files (x86)\Vim\vim80\plugin\zipPlugin.vim
为什么我的自定义插件 C:/Program Files (x86)/Vim/vimfiles/bundle
没有被病原体加载,而只有 GVIM 的运行时文件夹 C:/Program Files (x86)/Vim/vimM80/
中的插件?
作为测试,我无法打开 NERDTree,但我的键盘映射有效; .vim检测到 rc 但未检测到插件。
注.
我已经尝试按照 this guide 中提到的步骤进行操作,但无济于事。唯一的区别是我在程序文件中安装了 GVIM,而不是我的主文件夹,这与我的情况无关。
更新
看到 set runtimepath?
的结果时:
runtimepath=~/vimfiles,~\vimfiles\bundle\ale,~\vimfiles\bundle\ctrlp.vim,~\vimfiles\bundle\jscheck,~\vimfiles\bundle\neosnippet.vim,~\vimfiles\bundle\nerdtree,~\vimfiles\bundle\omnisharp-vim,~\vimfiles\bundle\tlib_vim,~\vimfiles\bundle\tsuquyomi,~\vimfiles\bundle\typescript-vim,~\vimfiles\bundle\vim-addon-mw-utils,~\vimfiles\bundle\vim-airline,~\vimfiles\bundle\vim-dispatch,~\vimfiles\bundle\vim-markdown,~\vimfiles\bundle\vim-snipmate,~\vimfiles\bundle\vimproc.vim,~\vimfiles\bundle\YouCompleteMe,C:\Program Files (x86)\Vim/vimfiles,C:\Program Files (x86)\Vim\vim80,C:\Program Files (x86)\Vim/vimfiles/after,~/vimfiles/after
我想病原体毕竟起作用了。但我不明白为什么插件无法访问。如果插件在 Vim 的 runtimepath
中,这意味着 Vim 知道在哪里寻找插件,据我所知。
C:\Program Files (x86)\Vim\
禁止进入。定制应该发生在 %USERPROFILE%\vimfiles
而不是其他地方:
%USERPROFILE%\vimfiles\vimrc <-- your vimrc
%USERPROFILE%\vimfiles\autoload\pathogen.vim <-- the pathogen script
%USERPROFILE%\vimfiles\bundle\ <-- your plugins
有关一般建议,请参阅 this repo。