未知函数:vundle#begin

37

我之前安装了旧版Vundle。更新Vundle时,我没有使用git pull命令,而是从~/.vim中删除了旧版Vundle,并按照Vundle的Github页面上的“快速入门”部分重新安装了它。

也许在安装新版Vundle时出了问题,我看到了以下信息:

jack@Jack-PC ~ $ vim .vimrc
Error detected while processing /home/jack/.vimrc:
line    6:
E117: Unknown function: vundle#begin
line   15:
E117: Unknown function: vundle#end
Press ENTER or type command to continue

我完全按照 Github 页面上的指示操作。

" .vimrc
set nocompatible
filetype off 

" Vundle 
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
"
"" Vundle Plugins List
"Plugin 'gmarik/Vundle.vim'
"Plugin 'php.vim'
"Plugin 'neocomplcache'
"Plugin 'rails.vim'
"Plugin 'bling/vim-airline'
"
call vundle#end()
filetype plugin indent on
5个回答

64

你的 .vimrc 文件看起来很好。似乎你没有正确安装 vundle 插件。 在控制台上运行以下命令。

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
你应该有一个类似下面这样的目录结构(我简化了它):
~/.vim
├── bundle/
│   └── Vundle.vim  <------------------ Vundle
├── colors/
│   └── Tomorrow.vim
└── plugin/
    └── acp.vim

你的回答和 git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 有什么区别? - fujianjin6471
这对我有用,我在将我的 .vimrc 从一台电脑复制到另一台电脑后遇到了这个问题。 - blackbrandt

25

也许rtp文件的位置是错误的,你可以尝试输入

:echo &rtp  

在Vim中查看~的位置是否正确。

你可以替换

set rtp+=~/.vim/bundle/Vundle.vim

set rtp+=/home/[YourUserName]/.vim/bundle/Vundle.vim   //do not use ~

谢谢,这个可行。对于 gVim 用户:set rtp+=~/vimfiles/bundle/Vundle.vim - yyny
惊人的解决方案。看起来在远程Linux服务器上设置多个用户的.vimrc文件时通常是这种情况。 - 24dinitrophenylhydrazine

1

我再次遇到了这个问题。 经过检查,原因是计算机中存在多个bundle环境,您可以使用 :echo &rtp 命令查看其他环境,并删除其他bundle目录。


0

我认为最好的答案是:

set rtp+=$HOME/.vim/bundle/Vundle.vim " in OS X

当然,你可以找出: echo $HOME,看看它是否是你的主目录。

-1
我在msys2中为vim安装Vundle时,只需在“~/.vim/bundle”中创建一个名为“Vundle.vim”的空目录即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接