Edited at

環境構築・環境の共有・dotfilesのまとめ方(tmux + zsh + vim)

More than 5 years have passed since last update.


メインの開発環境は tmux+zsh+vim

自宅・会社・開発サーバ等々で、設定を共有するために

行っていること。

備忘録をかねた個人用メモなので

こまかいことは自分で調べてくださいXD

何か要望があれば詳細追記します



dotfilesをgithubまたはbitbucketで管理する。


基本的には、ネットワークさえつながれば

いつでも同じ開発環境を構築できる状態であればよい。

Dropboxとかに保存するでもよいけど、バージョン管理できないし

リモートサーバー上に設置するのが面倒なのでgithub等がベスト

自分は、プライベートリポジトリを作れるという点でbitbucketを利用中。



設定ファイルをまとめたdotfilesフォルダを用意する。


自分の場合は以下のような感じ。

これを丸まるgithubに突っ込む

一部、リポジトリを別にもつディレクトリもあるんだけど。


./

|-- .gvimrc
|-- .tmux.conf
|-- .vimrc
|-- .zshrc
|-- formac
| `-- key4remap
| `-- private.xml
|-- setup.sh
|-- vimfiles
| |-- bundle
| |-- template
| `-- vundle.git
|-- vimrc
`-- zsh


各ファイル・ディレクトリの意味

.gvimrc


MacVim(Mac機), Gvim(Win機)でvimアプリを利用する際の

設定情報を記述する。基本は.vimrcに記載してあるので

主にGUI専用の内容を記述。


.tmux.conf


tmux用の設定をまとめておく


.vimrc


vim用の設定をまとめておく

vimのインストール方法はこちらを参照

プラグイン等の関係からvimは7.3以上を利用している。


.zshrc


補完関係の設定やプロンプトの変更など。


formac


mac機ではKey4Remapアプリを利用してキーバインドを

独自にXMLで定義しており、それをここで管理している。


setup.sh


dotfilesディレクトリを新規にgit clone した際に、

必要ディレクトリの生成や、シンボリックリンク作成用の

シェルスクリプト。


vimefiles


自前で管理しているdotfilesとは別にリポジトリをもつ

ファイルの管理。またはvimのプラグイン等もここでセット


vimfiles/bundle


vimのプラグインをインストールした際は、ここに格納される。

.gitignoreの対象


vimfiles/vundle.git


bundle管理


vimefiles/template


新規ファイル作成時に利用するテンプレートを格納

.plファイルの場合は、必要なモジュールをuseしておくetc


vimrc


.vimrc内で読み込んでいるdotfiles

.vimrc.bundle, .vimrc.unite といった感じで

任意の粒度にわけている。


zsh


自動補完用の auto-fu.zsh をサブモジュールとして管理している。



dotfilesをまとめる


自分の場合は上述のような感じだけど

まーそこは人によって様々だとおもうので

適当にちゃちゃっっとつくっちゃえばいいとおもいます。

bitbucketまたはgithubの使い方はgoogle御大が教えてくれるはず



gitモジュール管理


基本的には作成したdotfilesのディレクトリを

githubまたはbitbucketにアップロードすればOK

すこしトリッキーなのはgit submoduleを使っているところ

サブモジュールとは、簡単にいうとブランチ内で他の

リポジトリのブランチを利用すること

自分の場合は、自分のbitbucketブランチで

vim用のプラグイン管理とzsh用の補完モジュールなんかを登録してる。

コマンドは以下のようなかんじ。


# gitのプラグイン管理

# git add submodule $remote_path $install_pathといった形式
git add submodule http://github.com/gmarik/vundle.git .vimfiles/vundle.git


bitbucketからdotfilesをダウンロードする。


リポジトリ管理の準備ができてからは以下のように

開発環境で展開する。いくら環境がふえようと

以下のコマンドをうつだけで準備は整う。

※別途viでのバンドルインストールなどは必要。


$ cd ~/

# これでdotfilesディレクトリが~/以下に作成される。
$ git clone https://kinef@bitbucket.org/kinef/dotfiles.git

# dotfilesディレクトリに移動
$ cd dotfiles/

# サブモジュールをインストールする。
$ git submodule init
$ git submodule update

# 必要ディレクトリとリンクを作成
$ ./setup.sh