こんにちはhiro08です。
tmuxで開発していると、自分の開発体制がテンプレート化してくると思います。しかし、ターミナルを立ち上げて、1からtmuxで開発環境を構築するのは大変ですよね。
そこで、Shell Scriptでtmuxの開発環境を自動化すると便利です。例えば、セッションを自動で作成したり、ウィンドウを自動で分割できます。
こちらがコマンドを入力して、一発で開発環境を整えてる画像です。非常に快適になりました。
環境構築するShell Scriptを書く
こちらが今回作成したShell Scriptの全体像です。
gist.github.com
ポイント
ここでは上記のコードに対するポイントを説明します。
セッションに名前をつけて作成
tmux new-session -d -s 'ide' tmux attach -t ide
ウィンドウの分割
tmux split-window -v -p 30 tmux split-window -h -p 60 tmux split-window -h -p 50
こちらの画像のように、いい感じのウィンドウを分割してくれます。
引数によって処理を分岐
フロントエンドの開発やインフラにSSHするなど、ターミナルを使う用途は様々です。なので、引数によってセッションや画面分割する条件を分けています。
case $1 in "infra") tmux new-session -d -s 'infra' tmux attach -t server tmux split-window -v -p 30 tmux split-window -h -p 66 tmux split-window -h -p 50 tmux select-pane -t 1 clear ;; "kill") tmux kill-server clear ;; *) echo [ERROR] "$1"が見つかりません。 esac
セッションの削除
引数にkillを指定すると、セッションを削除することができます。
tmux kill-server
Shell Scriptの実行方法
今回書いたShell Scriptの実行方法は下記の通りです。
$ chmod 755 ide.sh
$ sh ide.sh
aliasの設定
最後にpathが有効になってるフォルダにファイルを追加して、ideコマンドで実行できるようにaliasを貼ります。
.zshrc
alias ide="~/.scripts/ide.sh"