我在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 ...>)
我已在我的用户目录.vimrc
(C:/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知道在哪里查找插件,正如我所理解的那样。
答案 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。