我想检查.
vimrc是否存在病原体,如果是,则调用病原体#infect.
这显然有效:
call pathogen#infect()
所以我确信病原体已正确安装.
但这不会加载病原体:
if exists("*pathogen#infect") call pathogen#infect() endif
这也不是:
if exists("g:loaded_pathogen") call pathogen#infect() endif
我错过了什么?
由于自动加载机制,您的检查无效.您可以通过明确获取来强制自动加载:
runtime! autoload/pathogen.vim if exists("*pathogen#infect") call pathogen#infect() endif
但最后,您可能只想避免在未安装Pathogen时从.vimrc中出现错误.为此,只需使用以下内容将任何结果错误静音!
silent! call pathogen#infect()
唯一的缺点是任何Pathogen插件错误都会被抑制.