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

  • 83
    いいね
  • 6
    コメント
この記事は最終更新日から1年以上が経過しています。

メインの開発環境は 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