bundle openでtmuxのpaneを開く

bundle openでgemのソースをエディタで開いたり,bundle showでgemのパスを見たりすることができるので,gemの挙動を知りたくてコードを見たい時にこれらのコマンドをよく使ってる.
便利なんだけど,gemのディレクトリがtmuxのペインで開いてくれるともっと使いやすいと思って,やってみた.

export BUNDLER_EDITOR="tmux split-window -c"

上記を~/.zshrcあたりに定義して,コマンドラインでbundle openを実行すれば,tmuxのpaneが開いてそのgemのディレクトリを見ることができる.

$ bundle open activerecord

bundle openを上書きしたくない場合

bundle openの挙動はそのまま残したいという場合には,BUNDLER_EDITORで設定するのではなく,下記のような関数を別途定義して使うと良い.

function bundle_open_tmux() {
    if [ -n "$1" ]; then
        local dir=$(bundle show "$1")
        tmux split-window -c "$dir"
    fi
}

下記のように実行すると,同じように動作する.

$ bundle_open_tmux activerecord

参考