ドヤァッ!!コマンド一発で複数画面表示!【tmuxinator】でターミナルを華麗に操作しよう

TK


ドヤァッ!!コマンド一発で複数画面表示!【tmuxinator】でターミナルを華麗に操作しよう

さて、今月も堕天していきましょう、リトルデーモンTKです。

ターミナルの魅力に取り憑かれて、CLI環境について調べ始めたフロントエンドエンジニアの方は、ターミナルでの開発環境においてZshVim、そしてtmuxが三種の神器として崇められている事に気付いたと思います。

私もターミナル環境の魅力に心酔して貪るように調べていた時、多くのブログの記事を読み漁りました。そして、今もZshとVimの格好良さに見惚れながら仕事をしています。

しかし、tmuxはフロントエンドエンジニアが使っても幸せになれるようなものではないのです……。

tmuxとは

tmuxの機能は画面分割したりや複数タブを開いたり、セッションを保持したりするもの。そのため、ローカルマシン単体で使うフロントエンドエンジニアにとっては、画面分割や複数タブなんてターミナルの機能でできるし、そもそもセッションって何? となってしまいますよね。

tmuxとは、リモートマシンにsshなどで接続した時に役に立つツールなのです。
※tmuxの便利な使い方についてはこちら

ローカルマシン単体で開発を行うフロントエンドエンジニアが使ってもほとんど恩恵を受けることはできません。せいぜい、ステータスバーに時計などを表示させてニヤニヤ出来るくらいです(ある意味重要ポイントですが)。

そう思っていました、tmuxinatorに出会うまでは……。

tmuxinator!!!

tmuxinatorとは、画面分割、タブをあらかじめ設定しておいた状態でtmuxを起動してくれるツールです。さらにその各画面での処理まで自動的に実行してくれるんです。つまり……、

ただでさえ格好良い画面を「コマンド一発で複数表示させる事が出来る」のです!

さらに、作業のたびに画面分割したり別タブ開いたりという準備を、コマンド一発で開発状態に入れるというオマケ付きです。

 

tmuxinator

こんな画面もコマンド一発で再現する事が出来てしまいます。

使ってみる

インストールします(tmuxはあらかじめインストールしておいてください)。

tmuxinatorは、gemでインストールする事ができます。

gem install tmuxinator

設定ファイルを準備します。

下記コマンドを実行すると、~/.tmuxinator以下にhoge.ymlという設定ファイルが作成されます。

tmuxinator new hoge

このymlファイルに、画面の分割状態や、分割したパネル上で実行したいコマンドの設定を書いていきます。

windows:
  - editor:
      layout: main-vertical
      panes:
        - vim
        - emacs

実際に使ってみる

おもむろに下記コマンドを実行してみましょう。
tmuxが動き、ymlファイルで設定された状態が再現しているはずです!

tmuxinator hoge

tmuxinator-2

ドヤ顔ヒント

複雑なパネル設定をしてみる

tmuxを立ちあげて表示させたい状態に開いておき、
下記コマンドで出力した情報を設定ファイルに追加してみましょう。

tmux list-window

一発で閉じられるように設定しておく

コマンド一発で複数パネルを表示できるのは便利なのですが、閉じるのがとても面倒になります。キーバインド操作で一括で閉じられるように、下記のように.tmux.confへ書いておくと便利です。

bind C-q kill-session

まとめ

ドヤ顔がしたくなったら、これまでご紹介してきた格好良いCLIツールをまとめて実行してみましょう!

TK
この記事を書いた人
TK

バックエンドエンジニア

関連記事