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