Sunday, September 30, 2012

Vim Plugin:GitHub 與 Submodule 共舞

本文主要是記錄利用 GitHub 來保存 Vim 外掛的設定檔文件,亦記錄 GitHub 以及 Vim 外掛安裝設定,並初步認識 Submodule 的便利性,建立本機與雲端雙向的備援機制。

可攜式 Vim 環境

開發環境與 Vim 為舞的人們,專案如何從辦公室換到家裡,再從家裡換到辦公室呢?

  • 專案檔案文件已經有了好的解答,可以透過 Dropbox, 也可以利用 Hami Cloud 等雲端服務的同步功能。
  • 原始碼該怎麼做?信的過 Dropbox 或是 Hami Cloud  的話,可以是看看,不然就是自己架伺服器囉 :P
  • 開發環境的設定可以利用 GitHub 來存放,畢竟都是 IDE 附屬的資料檔或是檔案結構的設定,基本上是可供分享的一堆文件。
  • Bitbucket 似乎是可以解決上述問題的新服務!不過,目前不在本篇記錄的範圍之內,繼承相同的 GitHub 技巧和方式應該是可以完全使用上,待持續觀察 Bitbucket 再做出決定囉。 

GitHub 與 Bitbucket 最直接的差異:前者全部的 Repository 要公開,後者則是無限制的讓你建立私有的 Repository。請參考 [1.] 所提及的 Vgod 分享的 Vim 設定檔,以及初步了解 GitHub 的運作,我們將 GitHub 的服務當做雲端,因此以下是建立可攜式 Vim 環境的步驟:

  1. 申請 GitGub 帳號
  2. Fork Vgod 分享的 Vim 設定 Repo(連結)或是寶尼的 Vim 設定(連結),不過目前跟 Vgod 幾乎一模一樣。
  3. 從雲端安裝 Vim 環境 (Mac OS X)
  4. curl -o - https://raw.github.com/vgod/vimrc/master/auto-install.sh | sh
    
大功告成,這樣就已經有一份雲端 Vim 環境,也將本機環境建置好哩!

安裝 Plugin

Git 的 Submodule 精神是將別人 Git Repository 當做是自己的一部分,那如果這個 module 是 Vim 的 Plugin 就是本篇文章之重點!

1. 安裝在本機
git submodule add [https/plugin/url] bundle/[plugin_name]
// 新增註記
git commit -m "Add [plugin_name]"

2. 上傳到雲端
// 已經有一個 remote origin
// 請到 ~/.vim/.git/config 做確認
git push -u origin master

更新 Plugin
git pull

移除 Plugin
1. 移除目錄
git rm --cached bundle/[plugin_name]
rm -rf bundle/[plugin_name]

2. 刪除設定檔
vim .gitmodule
vim .git/config

3. 改變 Repositiory
git add .gitmodule
git commit -m "Remove [plugin_name]"

4. 同步 Submodule
git submodule sync

5. 上傳到雲端
git push -u origin master

作業系統 Mac OS X 安裝 CTags

Vgod 的 Plugin 之中有一個是智能補齊函數標籤擴展的工具,需要進階的 Exuberant Ctags 相助,原本系統 XCode 所附帶的不夠,所以就要自己安裝一下,以及優先使用進階的工具,詳細操作請參考 [4.]。

1. 利用 tarball 安裝 Exuberant Ctags
cd Ctags
./configure
make
sudo make install

2. 修改 Ctags 路徑順序

將 /usr/local/bin/ctags 提比 /usr/bin 前面即可。

應用在新電腦或是重新安裝後電腦,只要執行可攜式 Vim 環境中的步驟三,就可以快速的恢復原本的開發環境囉。

參考來源

[1.] Vim 設定檔安裝
[2.] Bitbucket 開始支援 Git Repository
[3.] Git Submodule 的認識與正確使用!
[4.] 為 MacVim 裝上 taglist 套件

No comments:

Post a Comment