monoの開発ブログ

Dropboxでdotfilesを同期するメモ

最近VirtualBox上でUbuntuを使うようになったので、Dropboxを使ってWindows 7とUbuntuでdotfilesを同期するようにしてみました。以下にVimの設定を例とした手順のメモをまとめておきます。

完成形のイメージ

  • 「My Dropbox/dotfiles」(Linux側では「~/Dropbox/dotfiles」)以下にdotfilesの実体が配置される。
  • シンボリックリンクを利用してホームディレクトリ直下にdotfilesへのリンクを作成する。

Dropboxアカウントの作成

アカウント作成ページからアカウントを作成し、WindowsとUbuntuにそれぞれクライアントをインストールしておきます。

Windows側の設定

Windows Vista以降ではシンボリックリンクを作成するコマンドmklinkが存在するため、これを利用します。コマンドプロンプトをコンテキストメニューから管理者として実行し、以下のように入力すると、シンボリックリンクが作成されます。なお、環境変数HOMEにホームディレクトリが入っていることを前提とします。

mklink "%HOME%\_vimrc" "%HOME\Documents\My Dropbox\dotfiles\.vimrc"mklink "%HOME%\_gvimrc" "%HOME\Documents\My Dropbox\dotfiles\.gvimrc"mklink /D "%HOME%\vimfiles" "%HOME\Documents\My Dropbox\dotfiles\.vim"

Ubuntu側の設定

Linuxではリンクを作成するコマンドlnに-sオプションを指定してシンボリックリンクを作成します。ターミナル上で以下のように入力すると、シンボリックリンクが作成されます。なお、引数の順番がWindowsと逆なので注意が必要です。

ln -s ~/Dropbox/dotfiles/.vimrc ~/.vimrcln -s ~/Dropbox/dotfiles/.gvimrc ~/.gvimrcln -s ~/Dropbox/dotfiles/.vim ~/.vim

Windows上のVimでの注意点

Windows上のVim(Kaoriyaで公開されているバージョン)では、シンボリックリンクを開いて保存すると通常のファイルに置き換えられてしまう問題が存在します。そのため、Windows上でdotfilesを編集する場合にはMy Dropbox\dotfiles以下にある実体を開く必要があります。