さて、今月も堕天していきましょう、リトルデーモンTKです。
ターミナルの魅力に取り憑かれて、CLI環境について調べ始めたフロントエンドエンジニアの方は、ターミナルでの開発環境においてZsh、Vim、そしてtmuxが三種の神器として崇められている事に気付いたと思います。
私もターミナル環境の魅力に心酔して貪るように調べていた時、多くのブログの記事を読み漁りました。そして、今もZshとVimの格好良さに見惚れながら仕事をしています。
しかし、tmuxはフロントエンドエンジニアが使っても幸せになれるようなものではないのです……。
tmuxとは
tmuxの機能は画面分割したりや複数タブを開いたり、セッションを保持したりするもの。そのため、ローカルマシン単体で使うフロントエンドエンジニアにとっては、画面分割や複数タブなんてターミナルの機能でできるし、そもそもセッションって何? となってしまいますよね。
tmuxとは、リモートマシンにsshなどで接続した時に役に立つツールなのです。
※tmuxの便利な使い方についてはこちら
ローカルマシン単体で開発を行うフロントエンドエンジニアが使ってもほとんど恩恵を受けることはできません。せいぜい、ステータスバーに時計などを表示させてニヤニヤ出来るくらいです(ある意味重要ポイントですが)。
そう思っていました、tmuxinatorに出会うまでは……。
tmuxinator!!!
tmuxinatorとは、画面分割、タブをあらかじめ設定しておいた状態でtmuxを起動してくれるツールです。さらにその各画面での処理まで自動的に実行してくれるんです。つまり……、
ただでさえ格好良い画面を「コマンド一発で複数表示させる事が出来る」のです!
さらに、作業のたびに画面分割したり別タブ開いたりという準備を、コマンド一発で開発状態に入れるというオマケ付きです。
こんな画面もコマンド一発で再現する事が出来てしまいます。
使ってみる
インストールします(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
ドヤ顔ヒント
複雑なパネル設定をしてみる
tmuxを立ちあげて表示させたい状態に開いておき、
下記コマンドで出力した情報を設定ファイルに追加してみましょう。tmux list-window
一発で閉じられるように設定しておく
コマンド一発で複数パネルを表示できるのは便利なのですが、閉じるのがとても面倒になります。キーバインド操作で一括で閉じられるように、下記のように.tmux.confへ書いておくと便利です。
bind C-q kill-session
まとめ
ドヤ顔がしたくなったら、これまでご紹介してきた格好良いCLIツールをまとめて実行してみましょう!
ターミナルをもっと使いたくなるような環境に構築する方法
ターミナルに好きな画像を表示しよう
ターミナルから直接好きな音楽を聴ける!CLIミュージックプレーヤー「Cmus」を使ってみよう
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。