首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查病毒中是否安装了病原体。

检查病毒中是否安装了病原体。
EN

Stack Overflow用户
提问于 2013-09-02 15:30:42
回答 2查看 2K关注 0票数 7

我想在.vimrc中检查病原体是否存在,如果有,请打电话给pathogen#infect

显然,这样做是可行的:

代码语言:javascript
复制
call pathogen#infect()

所以我确信病原体已经安装好了。

但这并不会感染病原体:

代码语言:javascript
复制
if exists("*pathogen#infect")
    call pathogen#infect()
endif

这一点也不是:

代码语言:javascript
复制
if exists("g:loaded_pathogen")
    call pathogen#infect()
endif

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-02 15:52:55

您的检查不工作,因为自动加载机制。您可以通过显式地获取它来强制自动加载:

代码语言:javascript
复制
runtime! autoload/pathogen.vim
if exists("*pathogen#infect")
    call pathogen#infect()
endif

但最终,当病原体未安装时,您可能只想避免.vimrc中的错误。为此,只需使用:silent!沉默任何由此产生的错误即可。

代码语言:javascript
复制
silent! call pathogen#infect()

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

票数 12
EN

Stack Overflow用户

发布于 2014-01-11 23:26:02

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

代码语言:javascript
复制
if filereadable(expand("~/.vim/autoload/pathogen.vim"))
    runtime! autoload/pathogen.vim
    if exists("g:loaded_pathogen")
       execute pathogen#infect()
    endif
endif
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18576651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档