tmuxは非常に便利なのですが、Macだと稀に再起動しないといけない時があって、そういう時にtmuxのウィンドウやペインを開き直さないといけないのは非常に面倒です。

tmuxinatorを使うと、tmuxを起動した時にあらかじめ設定した内容にしたがってウィンドウやペインが表示されるようになるので、たいへん便利です。

下記より、tmuxinatorの導入方法を紹介します。

事前準備

tmuxのバージョンチェック

tmux -V

Rubyのバージョンチェック

現行のバージョンは、1.8.*だと動かないようです。私はそこでつまづきました。

ruby -v

gemのバージョンチェック

gem -v

最新にしておきましょう。

gem update --system

インストール

gem install tmuxinator

環境設定

zshでの設定を前提にしています。bashなど別のシェルを使っている場合は、適宜読み替えてください。

環境変数を.zshenvに追加します。

export EDITOR='vim'
export SHELL='zsh'

tmuxinator設定をダウンロードします。自分はDropboxにファイルをまとめているので、そちらにコピーしています。

wget https://raw.github.com/aziz/tmuxinator/master/completion/tmuxinator.zsh
mkdir ~/Dropbox/dotfiles/.tmuxinator
mv tmuxinator.zsh ~/Dropbox/dotfiles/.tmuxinator
ln -s ~/Dropbox/dotfiles/.tmuxinator .tmuxinator

設定が正しくできているか確認します。すべてYesが返ればOKです。

mux doctor

Checking if tmux is installed ==> Yes
Checking if $EDITOR is set ==> Yes
Checking if $SHELL is set ==> Yes

プロジェクトの作成

hogeには適当な名前を入力してください。

mux new hoge

エディタが開くので、編集します。

実行

mux hoge(プロジェクト名)

コマンドが実行されない場合

ペインは分割されるけど、ペインごとのコマンドが実行されない。

実行時に、下記のように表示される。

~ mux hoge
can't find pane: 1
can't find pane: 1
can't find pane: 1
arranging in: main-vertical

このような時は、.tmux.confを開き、以下の設定を追加します。

set-option -g base-index 1
set-window-option -g pane-base-index 1

参考

tmuxinator tmux + tmuxinator が便利 - akishin999の日記