DropBoxを使って、複数OS間でvimの環境を共有する方法

これは何?
Linuxを主環境として、複数OS間でvimの設定を共有する為のメモです

環境詳細
現在以下の環境で動作を確認しています
-Ubuntu 8.x
-Windows XP SP2
-Mac OS X Snow Leopard

そのうちMAC OS Xも対応したいです

DropBox
まずは、DropBoxに以下のファイル、ディレクトリを用意します

~/DropBox/dotfile/.vimrc
~/DropBox/dotfile/.vim/



.vimrcの設定

.vimの中身を複数マシンで共有するため、共有されたら困るものをローカルに出します

具体的にはこの辺の設定を変更します


"swapファイルをまとめて置く場所(DropBox対策)
set swapfile
set directory=~/.vimswap

"backupファイルをまとめて置く場所(DropBox対策)
set backup
set backupdir=~/.vimbackup





さらに、windowsCUIだと sjis で .vimrc を読むため、全角スペースの強調など全角文字を参照する所に専用の設定を追記します


highlight zenkakuda cterm=underline ctermfg=black guibg=black
if has('win32') && !has('gui_running')
	" win32のコンソールvimはsjisで設定ファイルを読むので、
	" sjisの全角スペースの文字コードを指定してやる
	match zenkakuda /\%u8140/
else
	match zenkakuda / / "←全角スペース
endif





加えて、windowsでは、.vimの代わりに、vimfilesを参照するので、これも動的に参照先が変わるように指定します

(runtimePathをいじってもいいのですが、どうにも上手く動作しないので、こっちの方法にしました)


"---------------------------------------------------------------------------
" OS毎に.vimの読み込み先を変える{{{
"---------------------------------------------------------------------------
if has('win32')
	:let $VIMFILE_DIR = 'vimfiles'
else
	:let $VIMFILE_DIR = '.vim'
endif
" 〜 こっから先、~/.vimを参照する場合、代わりに、~/.$VIMFILE_DIR と書くこと!
"}}}



ちなみに、vim.rc は文字コードutf-8 で filetype は unix です



Linux

次に、Linux側で現在使用している.vimrcと、.vimDropBox側にmvします

んで、以下のコマンドで.vimrcと.vimが$HOMEにあるようにシンボリックリンクを張ります


ln -s ~/DropBox/dotfile/.vimrc ~/.vimrc
ln -s ~/DropBox/dotfile/.vim ~/.vim 



これで、.vim, .vimrc が更新されると、DropBoxのファイルがアップデートされるようになります

複数台Linuxで環境を共有したい場合は、これだけでOKです



Mac

Linuxとおんなじ

ln -s ~/DropBox/dotfile/.vimrc ~/.vimrc
ln -s ~/DropBox/dotfile/.vim ~/.vim 

windows

環境変数 $HOME に、.各種設定ファイルを置くディレクトリを指定します

(C:\Documents and Settings\kasei_san\とか)

この時、pathの中に日本語が含まれてると、上手く動作しないので気をつけてください!



windowsでも同様に、DorpBoxの.vim .vimrc に シンボリックリンクを張ればOKですが、

(正確には、ディレクトリの場合はジャンクション)

windowsXPでは標準の機能でシンボリックリンクが存在しない為、以下のツールを使用します



Link Shell Extension



んで、シンボリックリンクを張った後、リンク先の .vim を vimfiles にrenameして完了!



参考リンク

-DropBoxを使って、まっさらな環境から5分で継続的で快適な環境を作る方法  - a2c.get.diary

-Active Non-Action 2.0: Dropboxとシンボリックリンク(Windows XP)