Vundle,Vim 的 Bundle(转)
长久以来,我管理 Vim 配置的方式都非常原始—— zip 打包,然后发到邮箱上。偶尔会发生忘记备份,或者配置混淆的状况,不过由于懒筋发作,竟然这个方案就这么用了两年。
终有一天,我觉得这个方法太笨了,作为一个高效程序员怎么能使用这么纯手工的备份方案,Vim 可是我的吃饭家伙啊。
Vim 配置备份最麻烦的部分就是脚本管理了,如果不先解决脚本管理,多次安装/卸载 Vim 脚本之后配置文件夹肯定乱糟糟的。于是我去找有什么潮流的插件管理方案,找到了最好的工具:Vundle(项目页)。

说它最好是基于几个理由:
- 灵感来源于 Ruby 社区的 Bundle 工具,语法相似。
- 配置干净,只需在 .vimrc 里面写入需要安装的脚本,就可以使 Vim 自动安装。
- 可以从 github 上安装 Vim 脚本
详细的使用可以参考项目页的教程。
由于 Vundle 从安装到使用都非常适合脚本化,所以我在学会这个工具之后马上写了一个安装脚本,加上我的 .vimrc 等文件,放到了 github(chloerei/vimrc)上。
现在我想要在一台新电脑还原我的 vim 配置,只要确保有 vim,ruby,rake,rvm 的情况下,运行以下命令:
git clone git@github.com:chloerei/vimrc.git
cd vimrc
rake deploy
我熟悉的配置就会部署到电脑上。
不妨讲解一下 Rakefile 文件,这是 rake deploy 魔法的秘密。
desc "deploy vimrc"
task :deploy do
# Bundle and scripts
system 'git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle'
system 'cp .vimrc .gvimrc ~/'
system 'vim +BundleInstall +qa'
system 'cd ~/.vim/bundle/Command-T/ruby/command-t/; rvm system do ruby extconf.rb; make; cd -'
# snipmate-snippets
system 'git submodule init; git submodule update'
system 'cd snipmate-snippets/; rake deploy_local; cd -'
end
第 1~3 个 system 命令安装了 vundle,并且打开 vim 使用 BundleInstall 命令安装所有写在 .vimrc 里的脚本。 第 4 个 system 命令对 Command-T 这个脚本进行了本地编译。 最后 2 个 system 命令用 git submodule 抓取了我放在另外的 github 源的 snipmate 代码片段。
由于我对 Rake 毕竟熟悉,所以脚本用了 Rakefile 的形式,其他开发者完全可以用 make 或者 bash 来写脚本。而除了 1~3 个 system 调用,后面的处理都是可选的,取决于需要什么 vim scrpit。
每个 Vimer 都有自己的喜好配置,我这份配置只算抛砖引玉,重要的是用 vundle + github 的备份方案。所以,行动起来吧,备份你的 vimrc。
Vundle,Vim 的 Bundle(转)的更多相关文章
- vim 安装Vundle.vim
1.下载 git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 2.配置vimrc set no ...
- vim安装bundle和使用
一.准备工作 安装Git(因为下面我们选择的插件管理器需要使用到它)安装其他插件前首先需要选择一个Vim插件管理器,我这里选择的是Vundle,Vundle的工作过程中需要通过Git自动从远程创库同步 ...
- Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe
序言 使用Ubuntu和vim已经有一段时间了,对于Vim下的插件应用,我总是抱着一股狂热的态度.这次,又在网上闲逛着,发现了一个个人博客提到了Vim代码补全这回事,并提到了YouCompleteMe ...
- 【转】Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe
原文网址:http://www.cnblogs.com/csuftzzk/p/3435710.html 序言 使用Ubuntu和vim已经有一段时间了,对于Vim下的插件应用,我总是抱着一股狂热的态度 ...
- vundle的安装笔记-20160721
vundle是一个vim管理插件, 而bundle是命令, 用来操作vundle的. bundle 英[ˈbʌndəl] 美[ˈbʌndəl] n. 捆,束,包:大量:一大笔钱:极度 v. 归拢:捆: ...
- vundle就是vim bundle的插件管理成ide
如何配置一个高效的php编辑环境, 很好 对vundle的操作, 除了仓库名称是vundle.git (*.git就是仓库) 和 本地目录名是 vundle之外, 其他的操作都是bundle git ...
- vim+vundle配置
Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...
- Vim插件管理器Vundle使用
参考地址:http://www.linuxidc.com/Linux/2012-12/75684.htm Vundle(Vim bundle) 是一个vim的插件管理器. 其Github地址为: ht ...
- VIM使用(一) VIM插件管理利器-vundle
有关VIM的文件网上一大堆,这里只是记录一下我新配置环境的步骤.以备查看参考. sudo apt-get install gitgit clone https://github.com/gmarik/ ...
随机推荐
- hdu-1394(线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394 思路:建立一个空线段树,求出逆序数,(逆序数性质:交换两个相邻数,逆序数+1或-1, 交换两个不 ...
- TabHost实现通话记录界面
//MainActivity.java public class MainActivity extends TabActivity { @Override public ...
- HDU 1087 Super Jumping! Jumping! Jumping! (DP+LIS)
题意:给定一个长度为n的序列,让你求一个和最大递增序列. 析:一看,是不是很像LIS啊,这基本就是一样的,只不过改一下而已,d(i)表示前i个数中,最大的和并且是递增的, 如果 d(j) + a[i] ...
- ansible-playbook api 2.0 运行项目
上篇 api 的文章 <ansible-playbook api 2.0 直接运行> 介绍的是直接将 tasks 直接写在 代码中的,本文介绍 api 运行整个项目 [root@10_1_ ...
- python编码(三)
python 有str object 和 unicode object 两种字符串,都可以存放字符的字节编码,但是他们是不同的type,这一点很重要,也是为什么会有encode(编码)和decode( ...
- day02(继承,重写,this,super,final,抽象类)
继承 概述:日常生活中儿女总会继承长辈的遗产,java语言也是.通过继承多种实物之间形成一种关系. 特点: ①一个类只能继承一个父类 ②一个父类可以有多个子类 ③可以多层继承(a类继承b类 C类继 ...
- JAVA中的内联函数
在说内联函数之前,先说说函数的调用过程. 调用某个函数实际上将程序执行顺序转移到该函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到 转去执行该函数前的地方.这种转移操作要求在转去前要保护 ...
- hdu3333 Turing Tree 2016-09-18 20:53 42人阅读 评论(0) 收藏
Turing Tree Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 图形与游戏中3D数学基础的说明
1.左手坐标系与右手坐标系没有好坏之分,不同的研究领域和不同的背景下,选择不同的坐标系:传统计算机图形学采用“左手坐标系”,线性代数则倾向于使用右手坐标系 坐标系由坐标轴与坐标原点组成.原点定义坐标系 ...
- [转] ubuntu安装Sublime Text 3并使用SublimeClang插件
原文地址:https://blog.csdn.net/cywosp/article/details/32721011 3. 安装强大的SublimeClang插件 SublimeClang是Subli ...