Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查vimrc中是否安装了病原体_Vim - Fatal编程技术网

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

检查vimrc中是否安装了病原体,vim,Vim,我想检查.vimrc是否存在病原体,如果存在,请致电病原体#传染 这显然有效: call pathogen#infect() 所以我确信病原体安装正确 但这并不意味着: if exists("*pathogen#infect") call pathogen#infect() endif 这也不是: if exists("g:loaded_pathogen") call pathogen#infect() endif 我遗漏了什么?由于自动加载机制,您的支票不起作用。您可以通

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

这显然有效:

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
但最后,您可能只是希望在未安装病原体时避免.vimrc中的错误。为此,只需使用
:silent使任何产生的错误静音

silent! call pathogen#infect()

唯一的缺点是任何插件错误都会被抑制。

这是我解决问题的方法:)


如果病原体未安装在~/.vim中,例如默认情况下在MS Windows上:如果!空(findfile('autoload/病原体.vim',&rtp))。。。
if filereadable(expand("~/.vim/autoload/pathogen.vim"))
    runtime! autoload/pathogen.vim
    if exists("g:loaded_pathogen")
       execute pathogen#infect()
    endif
endif