tmux の起動時セッションを自動化する tmuxinator いれた

開発用 Ubuntu VM はスリープっぽい保存はするけど、ローカルの Mac は落とさないといけない。で、毎回 ssh でウィンドウやペインごとに ssh つないだりするのはだるい。ということで tmuxinator いれた。

導入

いろいろある。特に ruby の開発してないし、適当にシステムグローバルにいれた*1
tmuxinatorで一瞬で開発環境を起動する #Ruby #AdventCalendar #tmux #開発環境 - Qiita

# インストール
gem install tmuxinator
# .zshrc に設定
[[ -s ~/.tmuxinator/scripts/tmuxinator ]] && source ~/.tmuxinator/scripts/tmuxinator

で、つくる。ひな形やサンプルがあるのでだいたい簡単にできる。

# デフォルトの alias
mux new my_project

設定はこんなかんじにした。コマンドの連結がシェルの文法なのか独特の yml なのか、それともできないのかはよくわからない。実際動いてない。けどまあ、とりあえず複数 ssh でつなぐだけできるからいい。

# ~/.tmuxinator/my_proj.yml
# you can make as many tabs as you wish...

project_name: my_proj
project_root: ~/
socket_name:
tabs:
  - VMvim: ssh dev
  - VMterm:
      layout: main-vertical
      panes:
        - ssh dev
        - ssh dev
        - ssh dev
  - my: cd ~/work

これだけなら簡単

256 色対応

vim で 256 color 対応しようとすると「ターミナルソフト」「シェル」「screen/tmux」「vim」のすべてが対応していないと色が反映されない。で、いつもは tmux -2 で起動してたけど、mux を通すとできない。alias tmux = 'tmux -2' したりとかしたけど、結局以下に至った

  • iTerm2 のターミナル設定を xterm-256color
  • vim は t_co=256 してある
  • .tmux.conf で set-option -g default-terminal screen-256color

ちょっとつまづたいのは、xterm-256color ってターミナルの設定してるのに tmux 側では screen-256color なんだね。とか。そういうあたり。あとは github の issue あたりをみて cli_args で -2 とか設定するとかしてたけど、いらなかった。

まあ

自動化はよい

*1:まあ ruby で開発することがあったら rbenv を使うだろう。tmuxinator は rvm を想定しているっぽいのがあるけど