Vim Pathogen won't load - E117: Unknown function: pathogen#infect
这应该是一个非常简单的问题。 我有一个简单的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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时,出现以下错误消息:
1 2 3 4 5 | Error detected while processing /Users/Jon/.vimrc: line 3: E117: Unknown function: pathogen#infect line 15: E185: Cannot find color scheme 'vividchalk' |
我已经花了相当长的时间解决这个问题,包括查看以下内容:Vim:病原体未加载,此处:病原体未加载插件,以及此处:https://github.com/tpope/vim-pathogen/issues/50
我将所有与vim相关的文件存储在
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | .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 |
由于vividchalk也无法加载,我猜vim无法访问您的.vim。
您在OS X上吗?您正在使用MacVim吗?
您可能错误地创建了?/ .vim。我会这样做(使用绝对路径):
1 | ln -s ~/.dotfiles/vim ~/.vim |
您可以尝试以下方法:
1 2 3 4 5 | 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。然后尝试使用链接的文件夹。如果可行,则添加病原体并查看是否已加载。
最明显的解决方案是将
1 | ~/.vim |
您可以在pydave的答案中使用符号链接。
另一个解决方案是将以下行添加到您的
1 | set runtimepath+=~/.dotfiles/vim/autoload (and all the other subdirs) |
我面临着同样的问题,经过大量的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()