読者です 読者をやめる 読者になる 読者になる

南極の図書館

ペンギンが寝ていた…。

そろそろしっかりvimを使う。github+vundleを利用したWindowsとの同期。

Windows Vim git

しっかりvim、2回目。
前回はMacでdotfiles(.vimrcなど)をgithubの管理にし、vimのpluginをvundleで管理するようにした。
そろそろしっかりvimを使う。dotfilesのgithub管理とvundleの導入。 - holyppの日記


今回はWindowsで、前回作った設定ファイルをgithubから持ってくる。
それにより、WindowsでもMacと同じ設定で使えるようになる。
Windowsからgit pushもできるので、同期すると言ったほうが良いかも知れない。
gitが入っていない状態から始めても、慣れれば30分以内に作業が終わるので、興味のある方は是非やってみて欲しい。
github+vundleで、複数PCでの管理が驚くほど楽になる。

目次

・gitとcurlの導入
・git cloneとsubmodule update
・リンクの作成
・BundleInstall

gitとcurlの導入

vundleを使うのにはgitとcurlが必要になる。
Windowsではmsysgitをインストールし、curl.cmdを作成する。
本家のVundle for Windows · gmarik/vundle Wiki · GitHubが詳しい。


msysgitはここからダウンロードする。
http://code.google.com/p/msysgit/downloads/list
現時点の最新版はGit-1.7.4-preview20110204.exe
ダウンロード後にexeを実行し、全てNextで進むだけでインストールは終わる。


次にC:\Program Files\Git\cmdに、curl.cmdを作成する。内容は以下の通り。

@rem Do not use "echo off" to not affect any child calls.
@setlocal

@rem Get the abolute path to the parent directory, which is assumed to be the
@rem Git installation root.
@for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI
@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%PATH%

@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%

@curl.exe %*

なお、環境変数PATHを「C:\Program Files\Git\cmd」に通すのも忘れずに。
これで準備ができた。

git cloneとsubmodule update

早速、githubからファイルを持ってこよう。

git clone http://github.com/holypp/dotfiles.git ~/dotfiles

次に、~/dotfiles/vimfiles/vundle.git/について、submoduleのinitとupdateを行う。
(この時点ではvundle.gitの中には何も無い。)

cd ~/dotfiles
git submodule init
git submodule update

これでvundleの配置が完了した。

リンクの作成

次はそれぞれのシンボリックリンク(またはハードリンク)を作成する。

Windows7(またはvista)の場合

シンボリックリンクを作成する。
コマンドプロンプトを右クリックで「管理者として実行」し、mklinkコマンドを使う。
ログも込みで以下の通り。

mklink C:\Users\xxxxx\_vimrc C:\Users\xxxxx\dotfiles\_vimrc
C:\Users\xxxxx\_vimrc <<===>> C:\Users\xxxxx\dotfiles\_vimrc のシンボリックリンクが作成されました

mklink C:\Users\xxxxx\_gvimrc C:\Users\xxxxx\dotfiles\_gvimrc
C:\Users\xxxxx\_gvimrc <<===>> C:\Users\xxxxx\dotfiles\_gvimrc のシンボリックリンクが作成されました

mklink /d C:\Users\xxxxx\vimfiles C:\Users\xxxxx\dotfiles\vimfiles
C:\Users\xxxxx\vimfiles <<===>> C:\Users\xxxxx\dotfiles\vimfiles のシンボリックリンクが作成されました
WindowsXPの場合

今更XPという感じもあるが、私は使わなければならない環境に居るので書いておく。
XPではシンボリックリンクが使えないので、ハードリンクを使う。動作は問題無い。
シンボリックリンクが使えるというツールもいろいろ試したが、結果的にハードリンクの方が良いと判断した。)


ファイルにはfsutilコマンド、フォルダにはlinkdコマンドを使う。
linkdコマンドは「Windows Server 2003 Resource Kit Tools」が必要なので、こちらからダウンロードしてインストールする。

Download details: Windows Server 2003 Resource Kit Tools

あとは以下の通り。

fsutil hardlink create "C:\Documents and Setting s\xxxxx\_vimrc" "C:\Documents and Settings\xxxxx\dotfiles\_vimrc"
C:\Documents and Settings\xxxxx\_vimrc <<===>> C:\Documents and Settings\xxxxx\d otfiles\_vimrc のハードリンクが作成されました

fsutil hardlink create "C:\Documents and Setting s\xxxxx\_gvimrc" "C:\Documents and Settings\xxxxx\dotfiles\_gvimrc"
C:\Documents and Settings\xxxxx\_gvimrc <<===>> C:\Documents and Settings\xxxxx\ dotfiles\_gvimrc のハードリンクが作成されました

linkd "C:\Documents and Settings\xxxxx\vimfiles" "C:\Documents and Settings\xxxxx\dotfiles\vimfiles"
Link created at: C:\Documents and Settings\xxxxx\vimfiles

BundleInstall

最後に、vimを起動し「:BundleInstall」を行う。
しかしその前に.vimrcのvundleの設定箇所に少し工夫が必要。

set nocompatible
filetype off

"このif文が必要。
if has("win32") || has("win64")
  set rtp+=~/vimfiles/vundle.git/ 
  call vundle#rc('~/vimfiles/bundle/')
else
  set rtp+=~/.vim/vundle.git/ 
  call vundle#rc()
endif

Bundle 'Shougo/neocomplcache'
Bundle 'Shougo/unite.vim'
Bundle 'thinca/vim-ref'
Bundle 'thinca/vim-quickrun'
filetype plugin indent on

vundle#rcは引数無しの場合に~/.vim/bundleへ、引数があればそこへpluginを格納する。
これで、Windowsの場合のみ~(/dotfiles)/vimfiles/bundleという構成になる。


これで今回は終わり。
gitのダウンロードからここまでで、30分掛からないくらい。
何度も行ったので、github,vundleにはずいぶん慣れてきた。


vimの各種プラグインの設定については、また別途書こうと思う。(まだ続きそう。)


別途→そろそろしっかりvimを使う。vimでRubyのコーディングをするために - holyppの日記