我想检查.vimrc
是否存在病原体,如果是,请致电pathogen#infect
。
这显然有效:
call pathogen#infect()
所以我确信病原体已正确安装。
但这并没有加载病原体:
if exists("*pathogen#infect")
call pathogen#infect()
endif
这两个都没有:
if exists("g:loaded_pathogen")
call pathogen#infect()
endif
我错过了什么?
答案 0 :(得分:12)
由于自动加载机制,您的检查无效。您可以通过明确采购来强制自动加载:
runtime! autoload/pathogen.vim
if exists("*pathogen#infect")
call pathogen#infect()
endif
但最后,您可能只是想在未安装Pathogen时避免使用.vimrc中的错误。为此,只需使用:silent!
:
silent! call pathogen#infect()
唯一的缺点是任何Pathogen插件错误都会被抑制。
答案 1 :(得分:1)
这是我解决问题的方法:)
if filereadable(expand("~/.vim/autoload/pathogen.vim"))
runtime! autoload/pathogen.vim
if exists("g:loaded_pathogen")
execute pathogen#infect()
endif
endif