Vundle ,Vim Bundle

Vundle,Vim 的 Bundle(轉) 

長久以來,我管理 Vim 配置的方式都非常原始—— zip 打包,然後發到郵箱上。偶爾會發生忘記備份,或者配置混淆的狀況,不過由於懶筋發作,竟然這個方案就這麼用了兩年。

終有一天,我覺得這個方法太笨了,作爲一個高效程序員怎麼能使用這麼純手工的備份方案,Vim 可是我的吃飯家伙啊。

Vim 配置備份最麻煩的部分就是腳本管理了,如果不先解決腳本管理,多次安裝/卸載 Vim 腳本之後配置文件夾肯定亂糟糟的。於是我去找有什麼潮流的插件管理方案,找到了最好的工具:Vundle(項目頁)。

Vundle install example

說它最好是基於幾個理由:

  • 靈感來源於 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。

發佈了72 篇原創文章 · 獲贊 4 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章