长久以来,我管理 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(转)的更多相关文章

  1. vim 安装Vundle.vim

    1.下载 git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 2.配置vimrc set no ...

  2. vim安装bundle和使用

    一.准备工作 安装Git(因为下面我们选择的插件管理器需要使用到它)安装其他插件前首先需要选择一个Vim插件管理器,我这里选择的是Vundle,Vundle的工作过程中需要通过Git自动从远程创库同步 ...

  3. Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe

    序言 使用Ubuntu和vim已经有一段时间了,对于Vim下的插件应用,我总是抱着一股狂热的态度.这次,又在网上闲逛着,发现了一个个人博客提到了Vim代码补全这回事,并提到了YouCompleteMe ...

  4. 【转】Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe

    原文网址:http://www.cnblogs.com/csuftzzk/p/3435710.html 序言 使用Ubuntu和vim已经有一段时间了,对于Vim下的插件应用,我总是抱着一股狂热的态度 ...

  5. vundle的安装笔记-20160721

    vundle是一个vim管理插件, 而bundle是命令, 用来操作vundle的. bundle 英[ˈbʌndəl] 美[ˈbʌndəl] n. 捆,束,包:大量:一大笔钱:极度 v. 归拢:捆: ...

  6. vundle就是vim bundle的插件管理成ide

    如何配置一个高效的php编辑环境, 很好 对vundle的操作, 除了仓库名称是vundle.git (*.git就是仓库) 和 本地目录名是 vundle之外, 其他的操作都是bundle git ...

  7. vim+vundle配置

    Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...

  8. Vim插件管理器Vundle使用

    参考地址:http://www.linuxidc.com/Linux/2012-12/75684.htm Vundle(Vim bundle) 是一个vim的插件管理器. 其Github地址为: ht ...

  9. VIM使用(一) VIM插件管理利器-vundle

    有关VIM的文件网上一大堆,这里只是记录一下我新配置环境的步骤.以备查看参考. sudo apt-get install gitgit clone https://github.com/gmarik/ ...

随机推荐

  1. Java源码更改的方式

    1.找到要改的类所在包名地址. 比如标签名的更改: <s:debug></s:debug> (1)ctril+鼠标左键========双击标签,就会弹出标签所在的类的文本 (2 ...

  2. An existing resource has been found at location D:\Tomcat 7\apache-tomcat-7.0.55\webapps。。。

    这个错误是说你的资源丢失,就是说tomcat无法解析你的.class文件,需要自己重新配置一下. 解决方法: 右击项目名 ---> 点击properties --> 在搜索栏里 输入 WE ...

  3. JavaScript面向对象编程[转]

    JavaScript面向对象编程 命名空间 命名空间是一个容器,它允许开发人员在一个独特的,特定于应用程序的名称下捆绑所有的功能. 在JavaScript中,命名空间只是另一个包含方法,属性,对象的对 ...

  4. Ubuntu14.04下安装Cuda8.0

    https://blog.csdn.net/sinat_19628145/article/details/60475696 https://developer.nvidia.com/cuda-down ...

  5. hdu 1425

    题目 这道题用快排做总是会超时,但是别人的快排就不会超时,最后看博客说最保险的方法还是用哈希的思想[哈希思想:散列再循环,对每一个数字进行通过改变哈希表的地址散列放置,将散列地址的哈希表记为1,这样 ...

  6. ViewGroup onInterceptTouchEvent,ViewGroup onTouchEvent,View onTouchEvent执行顺序说明

    今天抽出了一些时间实践了viewgroup和view的触摸事件顺序,之前也试过,总是忘记,今天记下笔记说明一下 首先 onInterceptTouchEvent只会出现在viewgroup中,view ...

  7. java web 中的WEB-INF文件夹

    WEB-INF下的东西是禁止直接访问的.如果这个页面是你的,要想让人访问最好不要放在这个目录下.如果一定放在那里.你可以使用:request.getRequestDispatcher("/W ...

  8. DAC--解决windows验证无法登陆的问题

    解决思路: 使用单用户管理员模式启动SQL Server,再使用SQLCMD连接上数据库,此时有sysadmin权限,添加用户并赋予相应权限 1>停止SQL Server服务运行 2>在C ...

  9. 【加密算法】Base64

    一.简介 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RFC2049,上面有MIME的详细规 ...

  10. .net core 滑动+点击汉字验证码

    用 .net core 写的  滑动+点击汉字的验证码,代码比较简单就不做说明了. github地址  https://github.com/wangchengqun/NetCoreVerificat ...