检查是否在vimrc中安装了病原体

时间:2013-09-02 15:30:43

标签: vim

我想检查.vimrc是否存在病原体,如果是,请致电pathogen#infect

这显然有效:

call pathogen#infect()

所以我确信病原体已正确安装。

但这并没有加载病原体:

if exists("*pathogen#infect")
    call pathogen#infect()
endif

这两个都没有:

if exists("g:loaded_pathogen")
    call pathogen#infect()
endif

我错过了什么?

2 个答案:

答案 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