9

这应该是一个非常简单的问题。我有一个简单的.vimrc文件。它总共有 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 时,我收到以下错误消息:

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、commentary 和 fugitive。这些插件都是 git 子模块。目录结构如下:

.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
4

3 回答 3

8

由于vividchalk也无法加载,我猜vim无法访问您的.vim。

你在 OS X 上吗?你在使用MacVim吗?

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

ln -s ~/.dotfiles/vim ~/.vim

你可以试试这个:

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。然后尝试使用链接文件夹。如果可行,则添加病原体并查看它是否加载。

于 2012-10-26T04:47:54.067 回答
3

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

~/.vim

您可以使用 pydave 的答案中的符号链接。

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

set runtimepath+=~/.dotfiles/vim/autoload (and all the other subdirs)
于 2012-10-26T06:01:59.437 回答
0

我遇到了同样的问题,最后经过大量的谷歌和调整 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()

于 2014-05-13T15:57:33.387 回答