short for | : | Vim bundle |
是什么 ? | : | a Vim plugin manager. |
开发语言 | : | VimL |
源码仓库 | : | https://github.com/VundleVim/Vundle.vim |
step1、创建~/.vim/bundle
目录
mkdir -p ~/.vim/bundle
step2、通过git下载Vundle
源码
git -C ~/.vim/bundle clone http://github.com/VundleVim/Vundle.vim.git
step3、在~/.vimrc
文件头开始输入如下内容
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage bundle, required
Plugin 'VundleVim/Vundle.vim'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
" Put your non-Plugin stuff after this line
插件的安装配置
应该放在call vundle#begin()
和call vundle#end()
之间。
help vundle.txt
Vundle
安装插件的方式有3
种:
~/.vimrc
配置文件中进行配置,然后在Vim的底行模式下执行PluginInstall
命令进行安装。PluginInstall <PluginName>
命令进行安装。PluginSearch <query>
,然后直接进行安装选中的插件。这3
种方式有好有坏,对于在~/.vimrc
配置文件中进行配置这种方式的好处是,我一旦配置好,并且把它放到版本控制系统中, 如果其他人有需要,我可以分享给其他人,或者我重新安装,非常的方便。通过在Vim的底行模式下执行PluginInstall <PluginName>
这种方式当时比较方便,以后就麻烦了。
对于在~/.vimrc
配置文件中进行配置要安装的插件的方式有4
种:
如果您要安装的插件在vim-scripts仓库中, 那么,配置的格式如下:
Plugin 'PluginName'
PluginName
中的空格
使用-
替换。
示例:
Plugin 'L9'
执行这个指令的时候,首先检测该插件是否已经下载到本地了,如果没有下载, 就会使用git下载,下载的方式如下:
git -C ~/.vim/bundle clone --recursive https://github.com/vim-scripts/L9.git
--recursive
是顺便把子模块的代码也一起下载下来。
下载到~/.vim/bundle/L9
目录中。
然后才是安装该插件。要注意的是:安装插件不等于下载插件,安装插件是对该插件资源的管理, 你自己下载下来,放到对应的位置,但是你没有配置该指令,就不会安装,它的功能你也就用不了,这就是插件管理器的作用, 插件管理器不仅仅是下载插件代码的。这个要搞清楚。
如果您要安装的插件在GitHub仓库中, 那么,配置的格式如下:
Plugin 'userName/repoName'
示例:
Plugin 'tpope/vim-fugitive'
Plugin 'Lokaltog/vim-easymotion'
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
Plugin 'tpope/vim-rails.git'
执行这个指令的时候,首先检测该插件是否已经下载到本地了,如果没有下载, 就会使用git下载,下载的方式如下:
git -C ~/.vim/bundle clone --recursive https://github.com/tpope/vim-fugitive.git
--recursive
是顺便把子模块的代码也一起下载下来。
下载到~/.vim/bundle/vim-fugitive
目录中。
如果您要安装的插件使用git管理的,但是它并不在GitHub仓库中, 那么,配置的格式如下:
Plugin 'git://...'
示例:
Plugin 'git:https://gitee.com/mirrors/youcompleteme.git'
执行这个指令的时候,首先检测该插件是否已经下载到本地了,如果没有下载, 就会使用git下载,下载的方式如下:
git -C ~/.vim/bundle clone --recursive https://gitee.com/mirrors/youcompleteme.git
--recursive
是顺便把子模块的代码也一起下载下来。
下载到~/.vim/bundle/youcompleteme
目录中。
如果您要安装的插件在本地的文件系统中,那么,配置的格式如下:
Plugin 'file://...'
示例:
Plugin 'file:///Users/gmarik/path/to/plugin'
Vundle
提供了下面的命令用来管理插件(这些命令只能运行在Vim的底行模式):
查询指定关键字(keyword
)的插件。如果没有指定keyword
,会列出所有的插件。
示例:
PluginSearch java
出现如下的查询列表:
这里通过上下键切换选中的插件,选中某个插件之后,按下i
键进行安装选中的插件,只是, 这种安装方式不会在~/.vimrc
中写入你安装的这个插件的配置。
安装指定pluginName
的插件。如果没有指定pluginName
,就安装在~/.vimrc
配置文件中配置的插件。
PluginInstall
出现如下的列表:
横线停留在哪里,就表示正在安装哪个插件,横线走到最下面,就表示安装完成。
列出已经安装的插件。
PluginList
出现如下的列表:
需要注意的是:在~/.vimrc
配置文件中配置的插件与这里的安装列表可能并不完全一样,这是因为, 在~/.vimrc
配置文件中配置的插件只是表明你想安装它,但是,如果您没有通过PluginInstall
命令进行安装, 那么它就没有安装,不会出现在已经安装的列表中;另外,我们通过PluginInstall <PluginName>
和通过PluginSearch <query>
进行安装的插件,都没有往~/.vimrc
配置文件写配置。
更新指定pluginName
的插件。如果没有指定pluginName
,就更新PluginList
中的插件。
PluginUpdate
等效于PluginInstall!
。
卸载指定pluginName
的插件。如果没有指定pluginName
, 就卸载在PluginList
中,但没有在~/.vimrc
中配置的插件。
这个命令不会删除在~/.vimrc
配置文件中的相关插件配置,也不会删除文件系统中的相关文件,只是做了一个标志而已。
一般的,Vim在安装的时候,会把vi
命令指向vim
命令,但有时候不会, 所以,有时候,当你用vi
打开文件的时候,可能会出现如下的错误:
E492: Not an editor command: Plugin 'gmarik/vundle'
解决的办法:只需要自己把vi
命令指向vim
命令指向即可,如下:
alias vi='vim'