首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pathogen#infect病原体无法加载- Vim :未知功能:Vim

pathogen#infect病原体无法加载- Vim :未知功能:Vim
EN

Stack Overflow用户
提问于 2012-10-26 11:53:16
回答 3查看 16.1K关注 0票数 9

这应该是一个非常简单的问题。我有一个简单的.vimrc文件。它总共有15行:

代码语言:javascript
复制
filetype off
set nocompatible
call pathogen#infect()
syntax on
filetype plugin indent on

set hlsearch
set colorcolumn=79
set number
set list
set expandtab
set tabstop=4
set softtabstop=4

colorscheme vividchalk

但是,当我尝试启动vim时,我得到了以下错误消息:

代码语言:javascript
复制
Error detected while processing /Users/Jon/.vimrc:
line    3:
E117: Unknown function: pathogen#infect
line   15:
E185: Cannot find color scheme 'vividchalk'

我花了很长时间来解决这个问题,包括在这里:Vim: Pathogen not loading和这里:Pathogen does not load plugins以及这里:https://github.com/tpope/vim-pathogen/issues/50

我将所有与vim相关的文件存储在一个~/.dotfiles/vim/目录中,并从我的主目录中对.vimrc.gvimrc.vim/进行了符号链接。我有三个要加载的插件: command-t、and和fugitive。这些插件都是git子模块。目录结构如下:

代码语言:javascript
复制
.dotfiles/
 ├──vim/
    ├── autoload/
    │   └── pathogen.vim
    ├── bundle/
    │   ├── command-t/
    │   ├── commentary/
    │   └── fugitive/
    ├── colors/
    │   ├── distinguished.vim
    │   └── vividchalk.vim
    ├── ftdetect/
    │   ├── markdown.vim
    │   └── vim.vim
    ├── gvimrc
    ├── snippets/
    │   └── markdown.snippets
    ├── syntax/
    │   ├── markdown.vim
    │   └── python.vim
    ├── test.txt
    └── vimrc
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-26 12:47:54

由于生动粉笔也不能加载,我猜vim不能访问你的.vim。

你用的是OS X吗?您使用的是MacVim

您可能错误地创建了~/.vim。我会这样做(使用绝对路径):

代码语言:javascript
复制
ln -s ~/.dotfiles/vim ~/.vim

你可以试试这个:

代码语言:javascript
复制
mkdir ~/vim_archive
mv ~/.*vim* ~/vim_archive/.
mkdir -p ~/.vim/colors
cp ~/vim_archive/.vim/colors/vividchalk.vim ~/.vim/colors/.
echo colorscheme vividchalk > ~/.vimrc

如果加载成功,则说明vim正确地读取了vimrc和.vim。然后在链接的文件夹中尝试。如果有效,那么添加病原体,看看它是否加载。

票数 8
EN

Stack Overflow用户

发布于 2012-10-26 14:01:59

最明显的解决方案是将~/.dotfiles/vim文件夹从~/.dotfiles目录移到其正常位置和名称:

代码语言:javascript
复制
~/.vim

您可以使用符号链接,如pydave的答案中所示。

另一种解决方案是将以下行添加到~/.vimrc

代码语言:javascript
复制
set runtimepath+=~/.dotfiles/vim/autoload (and all the other subdirs)
票数 3
EN

Stack Overflow用户

发布于 2014-05-13 23:57:33

我也面临着同样的问题,经过大量的google搜索和对vimrc文件的调整,终于找到了解决方案。希望下面的代码片段能解决这个问题。

在我的主目录中,所有文件都链接到它们的相关位置,如下所示

ln -s ~/dotfiles/vim ~/.vim ln -s ~/dotfiles/vim/vimrc ~/.vimrc ln -s ~/dotfiles/bash/bashrc ~/.bashrc ln -s ~/dotfiles/bash/aliases ~/.bash_aliases

将以下行添加到vimrc文件中。

set nocp source /home/ameet/.vim/autoload/pathogen.vim "location of my pathogen.vim call pathogen#infect() call pathogen#helptags()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13080490

复制
相关文章

相似问题

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