vim 软件生态的大管家 — vundle

Vim 插件 “一站式” 管理 — Vundle

作为编辑器领域的泰山北斗,vim 的江湖地位早已无须赘述。像任何一款优秀的软件系统一样,vim 也以编辑器为核心,形成了自己的软件生态 (比如,vim-scriptGithubvimawesome)。庞大的插件体系,极大的拓展和强化了 Vim 的功能,与此同时,也为插件管理带来的新的问题。

与 Linux 上其他软件一样,Vim 的也有全局通用配置和用户定制配置两种不同的配置方案。全局通用配置在 /etc/vim/ 文件夹下,用户定制配置在每个用户主文件夹的 .vim/ 文件夹下。在 Vim 中安装插件,需要将插件的文件分别放到用户主文件夹(~/.vim)下的 plugin、autoload、syntax、doc 等几个目录下。配置定制化 vim 的过程, 就是找到新的插件,把对应的文件拷贝到 ~/.vim 下几个目录的过程。

这种方式直接灵活,但也给插件的管理带来相当不便。首先安转不便,需要了解插件的目录结构,并进行对应的文件复制;其次,插件维护升级也不便利,如发现更新,要手动重新下载重新拷贝;想要删除某个不需要插件,更是要小心翼翼的不要删错。想要配置出顺手的 Vim, 需要极大的耐心和运气。

为应对上述问题,Vim 的插件管理器应需而生,如 pathogen。插件管理器极大的提升了插件的下载,安装、卸载、升级等工作的效率,以简洁的指令和自动化的执行方式提供了 “一站式” 的解决方案。使 Vim 用户从繁琐的插件管理中解脱出来,以更低的成本打造出各自的定制化配置,把更多精力专注于编辑写作工作本身。

在众多插件管理器中,Vundle 无疑是 Vim 插件管理器中的翘楚之一。

Vundle 的插件管理十分简介,总体上分为三个步骤:

  1. 安装 Vundle;
  2. 配置 .vimrc 文件;
  3. 指令管理插件;

Vundle 安装

首先,需要将 Vundle 插件下载到本地,并安装到 ~/.vim/ 目录中。
可以在 github 上直接下载并安装到本地文件夹。

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

Vundle 配置

完成 Vundle 的安装后,我们需要在 ~/.vimrc 中进行针对性配置。

插件类型及对应配置方式

Vundle 从管理上将 vim 插件分为三大类型:针对不同类型的插件,Vundle 采用不同的管理方式:

  • Github 上 vim-script 用户下的仓库的插件;
    • 需写出 “repos名”
  • Github 上非 vim-script 仓库的插件;
    • 需写出“用户名/repos名”
  • 不在 Github 上的插件;
    • 需写出 git 全路径

vimrc 具体配置方法

将想要管理的插件,按照不同类插件的配置方法,将地址填写在vundle#begin和vundle#end之间即可

典型的 vimrc 配置文件如下:

set nocompatible        " 这是必需的,去除vi一致性
filetype off            " 这是必需的 

" 在此设置运行时路径。即设置包括vundle和初始化相关的runtime path
set rtp+=~/.vim/bundle/Vundle.vim

" vundle初始化 
call vundle#begin()
" 另一种选择, 指定一个vundle安装插件的路径
" call vundle#begin('~/some/path/here')

" 让vundle管理插件版本,必须。" 这应该始终是第一个
Plugin 'VundleVim/Vundle.vim'

" 以下范例用来支持不同格式的插件安装.
" 将安装插件的命令放在 vundle#begin 和 vundle#end 之间.

" ==类型1==
" 来自 http://vim-scripts.org/vim/scripts.html 的插件
" Plugin "插件名称"
" 实际上是 Plugin "vim-scripts/插件仓库名",只是此处的用户名可以省略
" Plugin 'L9'

" ==类型2==
" Github上的插件
" 格式为 Plugin "用户名/插件仓库名"
" Plugin 'tpope/vim-fugitive'

" ==类型3==
" 由Git支持但不再github上的插件仓库 Plugin 'git clone 后面的地址'
" Plugin 'git://git.wincent.com/command-t.git'
" 本地的Git仓库(例如自己的插件) Plugin 'file:///+本地插件仓库绝对路径'
" Plugin 'file:///home/gmarik/path/to/plugin'

" 插件在仓库的子目录中.
" 正确指定路径用以设置runtimepath. 以下范例插件在sparkup/vim目录下
" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}

" 安装L9,如果已经安装过这个插件,可利用以下格式避免命名冲突
" Plugin 'ascenator/L9', {'name': 'newL9'}

Plugin 'tomasr/molokai'

" 所有插件需要在下面这行之前
call vundle#end()            " 必须
filetype plugin indent on    " 必须 加载vim自带和插件相应的语法和文件类型相关脚本

" 忽视插件改变缩进,可以使用以下替代:
"filetype plugin on
" 将自己的非插件片段放在这行之后(也就是上面的所有全部放在文件所有内容之前。)

基于 Vundle 的插件管理

.vimrc 配置完成之后,即可利用简单指令管理相关的插件。

打开 vim,在命令模式运行下列指令即可。

  • :PluginList – 列出所有已配置的插件
  • :PluginInstall – 安装插件;
  • :PluginSearch foo – 搜索插件foo;
  • :PluginClean – 清除未使用插件,需要确认;

reference:
1. https://blog.csdn.net/zhangpower1993/article/details/52184581

发表评论

电子邮件地址不会被公开。 必填项已用*标注