前一陣子逛到 tmux 的官網,看到一個tmuxinator連結。 好奇之下點進去用,真的是驚為天人!!
簡單的說就是一個管理tmux session的工具。想像一下下面的情境:
開發rails 專案
我們的 tmux環境可能會是:
- session 1: vim
- session 2 : rails s
- session 3: git(pull)
這時候每次重開機(或是當機)就很麻煩,要全部手動來一次。有了 tmuxinator 你再也不用怕了!!
1. 安裝
gem i tmuxinator
2. 建立一個專案的設定檔
tmuxinator new project_name
他會建立一個 ~/.tmuxinator/project_name.yml 設定檔,不過呢,我裝的版本好像有點問題沒有自己建立 ~/.tmuxinator ,阿反正就自己開一下。然後有時候editor會有點問題,那就自己 vim ~/.tmuxinator/project_name.yml 吧!!
裡面的設定大概長這樣
# ~/.tmuxinator/vote.yml
# you can make as many tabs as you wish…
project_name: abc
project_root: ~/projects/abc/src
rvm: 1.9.2
pre:
tabs:
- editor:
layout: main-vertical
panes:
- vim -S session.vim
- #empty, will just run plain bash
- server: rails s
- logs: tail -f log/development.log
- console: rails c
(格式跑掉了,請去官網看好勒~~)
這設定其實很簡單。pre: 後面接的是預執行的指令:(ex:如果是php的話可能會是啟動apache server)
再來tabs底下第一個session 的名字叫做 editor, 然後有分割視窗(!!), 第一個分割視窗透過vim 的session記錄功能打開之前的檔案。第二個分割視窗則是留一個空白的shell
第二個session的名字叫做server,執行 rails s 指令叫起伺服器 …..
——-
要啟動專案只要鍵入 mux start project_name 即可。剩下的請看官網囉!!
超讚的