作者upyours (hijos de puta)
看板Editor
標題[vim ] 使用git submodules跟pathogen同步plugin
時間Wed Sep 7 23:52:40 2011
利用github.com跟pathogen達成多台電腦間的vim plugins同步
出處
http://vimcasts.org/episodes/synchronizing-plugins-with-git-submodules-and-pathogen/
我試了好多人的設定檔,可是都不太滿意,所以乾脆自己做一個
也方便把我的開發機跟linux server的vim都搞成同一個樣子(不用每次手動)
把 .vimrc 跟 .gvimrc 搬到 ~/.vim 裡面,同個目錄方便git管理
mv .vimrc ~/.vim/vimrc
mv .gvimrc ~/.vim/gvimrc
再把 ~/.vimrc symbolic link到 ~/.vim/vimrc (gvimrc也是)
ln -s ~/.vim/vimrc ~/.vimrc
ln -s ~/.vim/gvimrc ~/.gvimrc
本地init一個repo (osx本身沒附帶git,請brew install git最方便)
cd ~/.vim
git init
製作一個README,方便往後操作(copy/paste)
=============README EXAMPLE==============
Installation:
git clone git://github.com/mywarr/dotvim.git ~/.vim
Create symlinks:
ln -s ~/.vim/vimrc ~/.vimrc
ln -s ~/.vim/gvimrc ~/.gvimrc
Switch to the `~/.vim` directory, and fetch submodules:
cd ~/.vim
git submodule init
git submodule update
===============README EOF==================
安裝pathogen
mkdir -p ~/.vim/autoload ~/.vim/bundle
curl https://raw.github.com/tpope/vim-pathogen/HEAD/autoload/pathogen.vim \
> ~/.vim/autoload/pathogen.vim
改~/.vim/vimrc,把底下兩行加到檔案最上頭
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
底下順便加一行
filetype plugin indent on
順手commit一下好了,記錄做了什麼改變
git add .
git commit -m "add pathogen as meta-plugin"
接下來要把~/.vim放上github,多工作環境同步、備份兼版本管理
github.com的設定rsa key那些在網站上都有詳細圖解,這邊不贅述
(設定完了之後...)
到github create一個新的repo,我設定此專案叫做dotvim
回到本機~/.vim目錄下
git remote add origin [email protected]:mywarr/dotvim.git
git push -u origin master ^^^^^^ ^^^^^^ 請自行替代
這樣github上就有最基本的vim環境設定了
用submodule的方式來安裝plugins
因為現在很多plugin都放在github上了,用這方式可以隨時update到最新版本
底下以fugitivea -- a git wrapper for Vim這隻plugin為例
cd ~/.vim
git submodule add http://github.com/tpope/vim-fugitive.git bundle/fugitive
git add .
git commit -m "Install Fugitive.vim bundle as a submodule."
git push
git pull
接著可以回github看看變化
安裝在其他電腦上,如linux server
cd ~
git clone http://github.com/mywarr/dotvim.git ~/.vim
ln -s ~/.vim/vimrc ~/.vimrc ^^^^^^請自行替換
ln -s ~/.vim/gvimrc ~/.gvimrc
cd ~/.vim
git submodule init
git submodule update
更新plugin
單體更新範例
cd ~/.vim/bundle/fugitive
git pull origin master
全體更新
git submodule foreach git pull origin master
結論:花一點少少時間可以省去以後很多麻煩
還有請推薦我一些提高生產力的plugin跟美麗的:color 暗色系為佳:)
--
the deadliest form of violence is poverty.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.248.165.62
※ 編輯: upyours 來自: 111.248.165.62 (09/07 23:57)
1F:推 kalawang:nerdtree nerd_commentor snipMate minibufexplorer 09/08 00:29
2F:→ kalawang:taglist 09/08 00:30
3F:推 kalawang:a 09/08 00:33
4F:推 martinku:推這篇! 09/08 09:21
5F:→ upyours:minibufexpl好棒 不用默記了 09/08 13:07
6F:→ curist:bufexplorer delimitMate endwise matchit repmo supertab 09/08 20:18
7F:→ curist:command-T git_vim tagbar, color: desert256, wombat256 09/08 20:19