病原体未在GVIM中加载插件

时间:2018-04-22 14:55:36

标签: vim vim-plugin pathogen

我在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 ...>)

我已在我的用户目录.vimrcC:/Users/User)中放置了自定义~\,这是由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中没有列出任何插件;只有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,但我的键盘映射有效;检测到.vimrc但不是插件。

注意。

我已经尝试过按照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知道在哪里查找插件,正如我所理解的那样。

1 个答案:

答案 0 :(得分:0)

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