转自:http://os.51cto.com/art/201507/484174.htm

Vim是Linux上一款用途广泛的轻量级文本编辑工具。虽然对普通的Linux用户来说开始学用起来难度相当大,但鉴于它具有的种种好处,完全值得一学。至于功能方面,Vim可以通过插件实现全面定制。不过由于其高级配置,你可能需要在其插件系统上花一番时间,才能够高效地对Vim进行个性化定制。幸好,我们有几个工具可以简化我们使用Vim插件。Vundle就是本人每天使用的一款工具。

1. Vundle简介

Vundle(https://github.com/VundleVim/Vundle.vim)的全称是Vim Bundle,它是一款Vim插件管理工具。Vundle让你可以非常轻松地安装、更新、搜索和清理Vim插件。它还能管理你的运行时环境,并帮助标记。我在本教程中将介绍如何安装和使用Vundle。

2. 安装Vundle

首先,如果你的Linux系统上还没有Git,安装它(http://ask.xmodulo.com/install-git-linux.html)。

下一步,创建一个目录,Vim插件下载后将安装到该目录下。默认情况下,该目录位于~/.vim/bundle。

$ mkdir -p ~/.vim/bundle

现在安装Vundle,如下所示。请注意:Vundle本身是另一种Vim插件。因而,我们将Vundle安装在之前创建的~/.vim/bundle下。

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

3. 配置Vundle

现在设置你的.vimrc文件,如下所示:

set nocompatible              " 这是必需的
filetype off " 这是必需的 " 你在此设置运行时路径
set rtp+=~/.vim/bundle/Vundle.vim " vundle初始化
call vundle#begin() " 这应该始终是第一个
Plugin 'gmarik/Vundle.vim' " 该例子来自https://github.com/gmarik/Vundle.vim README
Plugin 'tpope/vim-fugitive' " 来自http://vim-scripts.org/vim/scripts.html的插件
Plugin 'L9' "未托管在GitHub上的Git插件
Plugin 'git://git.wincent.com/command-t.git' "本地机器上的git软件库(即编写自己的插件时)
Plugin 'file:///home/gmarik/path/to/plugin' " sparkup vim脚本在名为vim的该软件库子目录下。
" 传递路径,合理设置运行时路径。
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} " 与L9避免名称冲突
Plugin 'user/L9', {'name': 'newL9'} "每个插件都应该在这一行之前 call vundle#end() " required

不妨稍微解释一下上述配置。默认情况下,Vundle从github.com或vim-scripts.org下载并安装Vim插件。你可以修改默认行为。

3.1.插件安装方式

  • 从Github进行安装:
Plugin 'user/plugin'
Plugin 'plugin_name'
  • 从另一个git软件库进行安装:
Plugin 'git://git.another_repo.com/plugin'
  • 从本地文件进行安装:
Plugin 'file:///home/user/path/to/plugin'

3.2.定制参数

你还可以定制其他参数,比如插件的运行时路径,如果你在自行编写插件,或者就想从不是~/.vim的另一个目录来装入它,这非常有用。

Plugin 'rstacruz/sparkup', {'rtp': 'another_vim_path/'}

如果你有同样名称的插件,可以更名插件,那样它就不会冲突。

Plugin 'user/plugin', {'name': 'newPlugin'}

4.Vundle命令用法

一旦你用Vundle设置好了插件,就可以使用几个Vundle命令,用Vundle来安装、更新、搜索和清理闲置未用的插件。

4.1.安装一个新的插件

PluginInstall命令会安装在你的.vimrc文件中列出来的所有插件。你还可以只安装某一个特定的插件,只要传递其名称。

:PluginInstall
:PluginInstall <plugin-name>

4.2.清理闲置未用的插件

如果你有任何闲置未用的插件,只要使用PluginClean命令,就可以清理它。

:PluginClean

4.3.搜索插件

如果你想从所提供的插件列表安装一个插件,搜索功能就很有用。

:PluginSearch <text-list>

在搜索过程中,你可以在交互式分屏上安装、清理、研究或重新装入同一列表。安装插件不会自动装入你的插件。想自动装入插件,将插件添加到你的.vimrc文件。

这个功能也经常用,比如:PluginSearch taglist,完成搜索后,可以按下'i'进行安装

5.结束语

Vim是一款非常出色的工具。它不仅是一款出色的默认文本编辑工具,可以让你的工作流程更快速更流畅,还可以转换成IDE(集成开发环境),支持几乎任何一种现有的编程语言。Vundle对于快速轻松地对功能强大的Vim环境实现个性化大有帮助。

问题:

1. 中间出现过问题call vundle#begin()和call vundle#end()配对时,始终.vimrc不起作用,后来换成call vundle#rc()和filetpe plugin indent on二者,把插件添加到中间即可。

2. 很多插件都需要设置.vimrc。

Vim使用Vundle管理插件(转)的更多相关文章

  1. Vim技能修炼教程(1) - 使用vundle管理插件

    世界上有两个伟大的编辑器:一个是emacs,一个是vi.它们从诞生以来,一直在Unix/Linux世界得到最广泛的支持. 尽管过了几十年,在Windows平台上和跨平台上有层出不穷的后起之秀不断挑战它 ...

  2. gVim 配置方案 采用Vundle管理插件

    在Linux下配置vim非常简单,尤其是采用Vundle来管理插件,使得一切用起来得心应手. Maple大神在github上公布了自己的vim配置方案,相当方便好用.详见 https://github ...

  3. vundle 管理插件

    前言:如果不使用vundle的话,进行插件的安装,配置和管理相对会麻烦,曾经没使用vundle的时候我经常遇到无法安装一些vim插件.但使用vundle后你只要在文件中添加一行你的插件名再安装就OK了 ...

  4. 使用Vundle管理配置Vim的插件

    1.介绍: 安装需要Git,触发git clone,默认将每一个指定特定格式插件的仓库复制到~/.vim/bundle/. 搜索需要Curl支持. Windows用户请直接访问Windows setu ...

  5. Linux基础(六) Vim之vundle插件

    背景 Vim缺乏默认的插件管理器,所有插件的文件都散布在~/.vim下的几个文件夹中,插件的安装与更新与删除都需要自己手动来,既麻烦费事,又可能出现错误. Vundle简介 Vundle 是 Vim ...

  6. centos使用--vim配置和推荐插件使用

    目录 1.vimrc的配置内容 2.Vundle使用 简介 安装vundle 配置vundle插件: 安装需要的插件 移除不需要的插件 其他常用命令 3 使用插件 3.1 NERDTree 3.2 e ...

  7. VIM编辑器使用及插件配置

    1.VIM的三种模式: 普通模式.插入模式.命令行模式2.三种模式的转换: 2.1进入普通模式 ①打开VIM默认为普通模式 ②处于插入模式/命令行模式时,按ESC进入普通模式 2.2进入插入模式: A ...

  8. vim 安装vim-javascript插件--Vundle管理

    最近看了一下node.js,但是写的时候,vim对js没有很好的提示.于是就安装插件来处理,准备安装vim-javascript.但是安装github上面的插件时,推荐用Vundle和pathogen ...

  9. 使用Vundle管理Vim插件

    附:仓库地址 附:我自用的vim配置文件,里面注释很多,仅供参考. Vundle是一款Vim的插件管理软件(Linux),用起来很方便的原因有几点: 支持插件超多,可以来源于github.Vundle ...

随机推荐

  1. java之继承中的构造方法

    继承中的构造方法  1.子类的构造过程中必须调用其基类的构造方法. 2.子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法. 2.1.使用this(argumen ...

  2. Python面试题之Python中应该使用%还是format来格式化字符串?

    Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问题.不信你 ...

  3. 20145312 《Java程序设计》第10周学习总结

    20145312 <Java程序设计>第10周学习总结 学习总结 一. 什么是网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的 ...

  4. Hive的Explain命令

    Hive的Explain命令,用于显示SQL查询的执行计划. Hive查询被转化成序列阶段(这是一个有向无环图).这些阶段可能是mapper/reducer阶段,或者是Metastore或文件系统的操 ...

  5. MR案例:小文件处理方案

    HDFS被设计来存储大文件,而有时候会有大量的小文件生成,造成NameNode资源的浪费,同时也影响MapReduce的处理效率.有哪些方案可以合并这些小文件,或者提高处理小文件的效率呢? 1). 所 ...

  6. 如何使用curl进行网页授权

    答:使用curl的-u选项,使用方法如下 curl -u username URL (会提示输入密码)

  7. iOS开发进阶 - 项目的本地化处理(多语言开发)

    移动端访问不佳,请访问我的个人博客 最近项目本地化,需要支持多国语言,下面将本地化的步骤记录下来,方便查找使用,步骤很简单,有些地方也有坑,希望大家看后少走弯路~~ 什么是本地化 本地化说直白点就是多 ...

  8. 【网络优化】Batch Normalization(inception V2) 论文解析(转)

    前言 懒癌翻了,这篇不想写overview了,公式也比较多,今天有(zhao)点(jie)累(kou),不想一点点写latex啦,读论文的时候感觉文章不错,虽然看似很多数学公式,其实都是比较基础的公式 ...

  9. Python学习札记(十七) 高级特性3 列表生成式

    参考:列表生成式 Note 1.List Comprehensions,即列表生成式,是Python中内置的非常强大的list生成式. eg.生成一个列表:[1*1, 2*2, ..., 10*10] ...

  10. mysql悲观锁以及乐观锁总结和实践

    悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中, 将数据处于锁定状态.悲观锁的实现,往往 ...