定义

Vundle是vim bunler和简称,它是一个vim插件管理器。

Vim本身缺乏对插件的有效管理,安装插件并配置.vimrc文件非常不便。gmarik受到Ruby的bunler的启发,开发了vundle这个vim插件,可以将插件分到不同的目录管理。

Vundle基于Git架构,每一个插件都是一个项目的Repository,通过Vundle可以用简单的指令,管理插件的生命周期。这样,只要有一份.vimrc,到哪都可以使用原有的vim插件了。当然基本前提是:系统已经要有git。

安装

具体怎么安装,有很多文章,所以这里不细讲了,有兴趣可以参见 官方文档

大体的步骤:

  1. 确定系统有git。如果没有,先提前安装git
  2. 通过git clone vundle
  3. 添加.vimrc文件vundle相关的配置

然后就可以通过vundle相关命令来管理vim插件的生命周期

插件类型

这里指的是vundle定义的类型,并不代表的是vim自然类型。vim自然类型暂时不深入,如果有兴趣可以参见常用插件

Github

说明:引入Github的插件

语法:用户/仓库 => 相当于:https://github.com/用户/仓库

Plugin 'gmarik/Vundle.vim' =>'https://github.com/gmarik/Vundle.vim'

Vim scripts

说明:引入'https://github.com/vim-scripts'下面的插件

语法:单词(不带"/"的) => 相当于:https://github.com/vim-scripts/单词

Plugin 'ctrlp.vim' => 'https://github.com/vim-scripts/ctrlp.vim'

非Github

说明:这里需要的是全路径,引用的是非Github的插件

Plugin 'git://git.wincent.com/command-t.git'

这种类型暂时没使用过

本地

说明:这里需要的是全路径,引用的是本地的插件

Plugin 'file:///path/from/root/to/plugin'

这种类型暂时没使用过

生命周期

这里指的是管理vim插件的生命周期。我比较喜欢用“生命周期”这个词。因为这样,脑子里能很方便的记忆着这一系列的命令以及场景。

语法如下:

:BundleList             列举列表(也就是.vimrc和已经安装的插件)中配置的所有插件
:BundleInstall 安装列表中的全部插件
:BundleInstall! 更新列表中的全部插件
:BundleSearch 查找foo插件
:BundleSearch! 刷新foo插件缓存
:BundleClean 清除列表中没有的插件
:BundleClean! 清除列表中没有的插件

注意事项:

  1. 后面的所有命令都可以加上[name1 name2 ...]参数。如果有加,就指的是针对管理这些指定插件的生命周期。所以不在一一赘述
  2. 在输入命令时,可以使用Tab键|Ctrl+d来提示

列举

语法:PluginList

列举插件列表,这里面包括两类:

  1. .vimrc文件里配置的插件
  2. 已经安装,但是没有在.vimrc文件里体现的插件。比如直接通过PluginInstall {name}直接安装,如果已经安装成功,虽然.vimrc文件里没有,但是依然会在PluginList里显示

    注意事项:
  3. 要把PluginList的所有插件同步到.vimrc配置文件。这样下一次就可以直接安装了。

安装

语法:PluginInstall

安装BundleList里的所有插件

注意事项:

  1. PluginInstall后面如果加"!",此时表示的是更新而不是安装,相当于下面的PluginUpdate

更新

语法:PluginUpdate

更新BundleList里的所有插件

查找

语法: PluginSearch

这里查询的是Vim scripts类型插件。其他插件都不在可搜索范围

这里的搜索,支持前后模糊,但是不支持正则

查找到后可以直接对插件进行生命周期的管理。

但是如果此时安装的插件,并不会在.vimrc配置文件里面,所以要同步BundleList列表到.vimrc

清除

语法: PluginClean

清除没有用的插件

PS

过时命令

下面两类命令现在都可以使用,不过建议使用pluginXxxx系列。

过时命令  	  |	   新命令
Bundle | Plugin
BundleInstall(!) | PluginInstall(!), VundleInstall(!)
BundleUpdate | PluginUpdate, VundleUpdate
BundleSearch(!) | PluginSearch(!), VundleSearch(!)
BundleClean | PluginClean(!), VundleClean(!)
BundleList | PluginList

有效位置

可以通过.vimrc文件里设置需要添加的插件,但是这些插件的位置需要注意一下。

"所有需要添加的插件都必须放在这行之后

call vundle#begin()

"...其他设置

Plugin 'VundleVim/Vundle.vim'

"...其他设置

"所有需要添加的插件都必须放在这行之前

call vundle#end()

参考资源

  1. Vundle官网
  2. Windows下安装Vim插件管理Vundle

菜鸟vimer成长记——第4.0章、Vim插件管理利器-Vundle的更多相关文章

  1. 菜鸟vimer成长记——第2.0章、模式初探

    首先,其他的文本编辑器只有一种模式,就是插入模式.而vim一下子颠覆了我们的世界观——有好多模式.这个是思维上的切换,很难也很重要!!! 其次,Vim 提供一个区分模式的用户界面.也就是说在不同的模式 ...

  2. 菜鸟vimer成长记——第2.4章、cmd-line模式

    cmd-line模式又有3个类型:Ex 命令(ex commands).查找模式(Search patterns).Filter 命令(Filter commands).本文主要重点的是Ex 命令和S ...

  3. 菜鸟vimer成长记——第2.1章、normal模式

    目的 掌握normal模式下常用操作的语法和概念,这些操作对应的应用场景以及实用技巧. 通过normal模式举一反三掌握cmd-line和visual的常用文本操作. 简介 文本操作的理想状态为:一个 ...

  4. 菜鸟vimer成长记——第4.1章、通用插件

    简介 关于插件的分类,此系列只会简单的区分为通用插件和编程插件.通用插件的意思是,不基于任何编程语言都可以使用的插件.编程插件,是针对于编程习惯,或者说是针对于某种语言的插件. 计划中,是先把基本常用 ...

  5. 菜鸟vimer成长记——第2.3章、insert模式

    大部分的Vim 命令都在非插入模式中执行,不过有些功能在插入模式中会更好实现些. 如果没有输入当前文件不存在的新文本的需求时,建议通过其他模式来操作完成. 目的 掌握inser模式下常用操作的语法和概 ...

  6. 菜鸟vimer成长记——第2.2章、visual模式

    vi是没有可视模式的.然而大多数编辑软件都都是有可视模式.所以我猜测vim是几乎迫于无奈才有了visual模式. 个人建议,能不用就不用.这样能直接在头脑里处理好文本,锻炼文本处理能力,同时能转变过来 ...

  7. 菜鸟vimer成长记——第4.2章、编程插件

    简介 这部分的插件是与编程相关的插件.主要涉及两大块:所有编程语言通用的插件,以及各个语言独有的插件.插件的数量和合理性,这可能是一个不断累积和修正的过程. 个人感觉,现在比较适合sh,html,ma ...

  8. 菜鸟vimer成长记——目录

    菜鸟vimer成长记——第0章.我眼中的vim学习 菜鸟vimer成长记——第1章.统一概念 菜鸟vimer成长记——第2.0章.模式初探 菜鸟vimer成长记——第2.1章.normal模式 菜鸟v ...

  9. 菜鸟vimer成长记——第0章、我眼中的vim学习

    这是一系统总结vim的学习文章,记录我自己学习vim的过程和感悟.与此同时也想分享出来给大家,欢迎大家互相讨论和学习. 在这里假设你们对vim已经有了一些基本的认识或者说已经使用过几个月的vim.该系 ...

随机推荐

  1. Linux wc命令详解

    wc常见命令参数 wc -l : 统计行 wc -c: 统计字节数 wc -m:统计字符数,不能与-c同时使用 wc -w:统计字数 wc -L:打印最长长度 注意: wc 可以直接后面跟文件使用,但 ...

  2. zabbix的日常监控-API

    Zabbix API提供两项主要功能: 远程管理Zabbix配置 远程检索配置和历史数据 官方文档:https://www.zabbix.com/documentation/3.4/zh/manual ...

  3. 【译文】MySQL InnoDB 使用的锁分析

    InnoDB 使用的 锁类型 共享锁和排它锁 意向锁 记录锁 间隙锁 Next-key 锁 插入意向锁 AUTO-INC 锁 共享锁和排他锁 InnoDB实现了俩个标准的行级锁,共享锁和排它锁. 共享 ...

  4. SQL Server 中的排名函数与使用场景

    1.RowNumber() Over (oder by.....)   在需要对某个不连续ID的表进行排序时使用 2.ROW_NUMBER() over(PARTITION by ...... ord ...

  5. 20165318 2017-2018-2 《Java程序设计》第七周学习总结

    20165318 2017-2018-2 <Java程序设计>第七周学习总结 目录 学习过程遇到的问题及总结 教材学习内容总结 第11章 JDBC与MySQL数据库 错题总结 第五周错题总 ...

  6. 【洛谷】【动态规划(二维)】P1508 Likecloud-吃、吃、吃

    [题目描述:] 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日上课,正当他饿得头昏眼花之时,眼前突然闪现出了一个n*m(n and m<=200)的矩型的巨 ...

  7. BigDecimalUtil 工具类

    一.为什么要用BigDecimal? 涉及到加减乘除,用int,double 会出现数据丢失,这个时候就要用BigDecimal. 注意:在new BigDecimal(Double.toString ...

  8. 关于SpringApplication包无法导入报错问题

    问题描述:一直再报红线,包始终无法导入,参考过好几个博友分享的解决方案,依然没有效果,对了补充一点SprinBoot版本为2.0.3. 问题解决:目前通过更换版本得到解决1.5.6或者1.5.8都可以 ...

  9. Sublime Text2中的快捷键一览表(Sublime 键盘快捷键大全 )

    快捷键 功能 ctrl+shift+n 打开新Sublime ctrl+shift+w 关闭Sublime,关闭所有打开文件 ctrl+shift+t 重新打开最近关闭文件 ctrl+n 新建文件 c ...

  10. 系统重装后恢复Oracle数据库

    这周装系统的固态盘坏了,固态硬盘用到坏也是第一次碰到....只能新买个硬盘重装系统了.到了Oracle数据库恢复那一步了,其实很简单.只要没把数据库安装路径放在系统盘就行.*^____^* 先找到重装 ...