🥳

tmuxを使ってみたので良かった点まとめ

2021/05/15に公開

経緯

仕事のパソコンをWindowsからMacに変えました。(個人のパソコンは元からMacです。)

そこでターミナルを使うに当たって、どうせなら仕事の効率が上がるようなソフトウェアがあったら使ってみたいなと思い探してみると、どうもtmuxというものが便利だと発見。

試しに使ってみて1週間経ったのでその感想と布教を兼ねて書く事にしました。
(布教という時点でどハマりしてるというネタバレ)

感想

結論から言うと、めちゃくちゃ便利でした。
むしろ今までなぜ使ってこなかったのか後悔したくらいでした。

そして何より、客観的に見てターミナルがカッコよく見える!
カッコよく見えるだけで使い始めて良かったと思えるレベルですが
実際にどういう点が良かったか、まとめてみました。

tmuxとは

そもそもtmuxとは何か、について説明してから良かった点に入ろうかと思います。

tmuxとは、端末多重化と言われるもので
ざっくりとした説明をすると、複数のターミナルを立ち上げる事ができるソフトウェアです。
一つのブラウザに複数のターミナルを並べたり、切り替えたりができます。

こんな感じ。

もう、めちゃくちゃかっこいいですよね。
3枚開いてるだけなのに。
この気持ちを欲してる人はtmuxを使うべきです!

構成

tmuxを使うに当たって、最低限持っておくと良い概念として
1.セッション
2.ウィンドウ
3.ペイン
この三つの概念が大事になります。

分かりやすく図にすると、以下のような構成になります。
(以下はサンプルイメージなので、この数が絶対という訳ではないです。セッションを作ればもっと増えますし、ウィンドウも増やせます。)

  • セッション
    • ウィンドウ
      ∟ ペイン
      ∟ ペイン
      ∟ ペイン
    • ウィンドウ
      ∟ ペイン
      ∟ ペイン
  • セッション
    • ウィンドウ
      ∟ ペイン
      ∟ ペイン
    • ウィンドウ
      ∟ ペイン

セッションで大枠を作り、その中にウィンドウを用意し、それをペインで分けるというイメージかと思います。
実際、tmuxでリストを表示させると分かりやすいかもしれないです。

0番目のセッションには3枚のwindowsが開かれていて、1番目のセッションには2枚のwindowsが開かれていると表示されています。それぞれのウィンドウのペインは画面下半分に表示されます。

ペイン一つ一つが、1つのターミナルという感じになります。
ちなみに最低でも、1セッションにつき必ず1ウィンドウ、1ウィンドウにつき必ず1ペインが存在します。

利点

セッションで管理している

tmuxの醍醐味とも言える部分です。
このセッションのおかげでターミナルを閉じても、再度同じ状態で開く事ができます。

コマンドは下の方に書いているので、参考にしてください。

tmuxを起動するとセッションが作られて、そのセッションの中で操作を行う事になります。
作られたセッション内でsshなどを接続したりする時に、途中で作業が中断する事になったとしても同じセッションで続きを再開する事ができるのが大きな利点かと思います。

プロジェクト管理が楽

複数プロジェクトを跨いで開発を行うことってあるかと思います。

プロジェクトAで開発中にプロジェクトBの差し込みの修正が必要になった! という状況、あるあるだと思います。

そんな時でも、新しくセッションを作ってそちらでウィンドウを作成していけば、
プロジェクトAのターミナルの状態を残したままで、プロジェクトBの修正を進める事ができ、プロジェクトAに戻るのもセッションを切り替えるだけでよくなります。

設定が簡単

tmuxの設定ファイルは、~/.tmux.confを作成し、そこに追記していくだけなのでとても簡単です。

ちょっとハマりポイントなのが
configファイルは設定を変えたりすると、sourceコマンドで更新をかけるかと思いますが
tmuxの場合は、tmux source ~/.tmux.confにしないと更新できないので注意が必要です。
(tmux起動後だと、PREFIX rでも更新できるみたいです。)

この設定ファイルで、好みのキーバインドであったり、表示したいものや色を設定できるという感じになります。

時計が見れる

特にめちゃくちゃ利点!って訳ではないですが、知ってるとちょっとデキる感を漂わせる事ができますw
コマンドで時刻を表示させる事ができるので、それで時計用のペインを切るとわざわざ時計を見なくても時刻が分かります。

clock

ちょっとイケてる感増したように見えませんか!(興奮)

まとめ

こんな感じでイケてる感のあるターミナルを使うとテンションも上がりますし、開発のモチベーションも上がると思います。

もちろん、効率も上がるので(特にVimmerとか)、是非これを機会にtmuxを使ってみてはどうでしょうか!

最後によく使うコマンドを紹介します。
キーバインドで変更できるので、好みに合わせて変更して自分だけのtmuxを作りましょう!

コマンド

個人的によく使うものだけ抜粋しました。

tmux
tmux起動コマンド 新規でセッションを作成します。

tmux new -s XXX
新規でセッションの名前をつけて作成します。

tmux a
前回のセッションの続きから再開。

tmux a -t XXX
指定したセッションを続きから再開。

tmux kill-server
tmuxのサーバーをリセットします。(全てのセッションが消えます)

tmux kill-session
セッションを削除します。

tmux kill-session -t XXX
対象のセッションを削除します。

tmux起動後のキーバインド
C- = CTRL
デフォルトのPREFIXは C-b です。
PREFIXを押した後に続けてコマンドを打つ事で実行できます。

PREFIX c
新規ウィンドウ作成

PREFIX C-z
tmuxを一時停止
一時停止後、tmux aで再開できます。

PREFIX ,
ウィンドウの名前を変更

PREFIX $
セッションの名前を変更

PREFIX 0~9
その番号のウィンドウに切り替える

PREFIX w
一覧表示

PREFIX %
水平にペイン分割

PREFIX "
垂直にペイン分割

PREFIX {
コピーモード開始

PREFIX }
コピーモードでコピーしたものをペースト

PREFIX t
時計表示

参考サイト

tmux入門
tmuxチートシート
tmuxを必要最低限で入門して使う

Discussion