【tmux入門】基本的な使い方とインストール方法を解説

Claude CodeなどのCLI系AIによって、個人的にtmux熱が再燃してます。が、「なんか難しそうで手を出せてない」「名前はよく耳にするけど良さが分からん」という方をちらほら見かけます。

本記事ではtmuxを触ったことがない初心者向けに、tmuxのメリットやインストール方法、基本的な使い方を解説します。

tmuxとは・何がうれしいのか

tmuxは、ひとつの画面の中で同時にいろんな作業ができるようになるツールです。

cdが減る

ターミナルの作業中、「別プロジェクトの作業が入るたびにいちいちcdして、終わったら戻って……」は面倒ですよね。

たとえば筆者は「アプリ」「API」「管理画面」のリポジトリを同時に開いておき、 作業内容によって切り替える のをよくやってます。

↓見やすく簡略化したイメージ動画。

エディタもAIもログも1つの画面

最近だと、AIに書かせつつ自分は別の作業をすることも多くなりましたね。並行して別のAIを起動したり、npm run devやテストなどを実行してログを見たり、というのが1つの画面だけでできます。

tmuxで1つの画面に複数開ける

もちろんもっと大きな画面で見たいときは別の画面を開けばよいのです。

いつものレイアウトを設定できる

基本ターミナルは開きっぱなしですが、再起動などで閉じるたびに新しく画面を作っていくのは面倒ですよね。

tmuxでプラグインを入れれば、レイアウトが自動で保存されます。いつ起動しても前回と同じレイアウトで作業が継続できます。

ターミナルのタブ機能との比較

Macの標準ターミナルやWindows Terminalでも同じようなタブ機能や画面分割はできます。WezTermGhosttyといったモダンなターミナルエミュレータでもできます。
「じゃあtmux使う意味なくね?」と思うかもしれませんが、tmuxにはtmuxの良さがあります。

スクリプトでカスタマイズ

tmuxは設定ファイルでカスタマイズ可能です。キーバインドや見た目を自分好みに変更できます。
最初はデフォルト設定で満足していても、必ずどこかで欲が出てくるでしょう。筆者はカスタマイズ欲まみれです。

さらに、fzfのような外部ツールと連携して自分の作業のワークフローに最適化できるため、開発速度も爆速になります。

↓動画は、ファイル名補完をtmuxで表示する例です。

最近は「Cloude Codeのプロンプトを別の画面でNeovimを開いて入力する」というのをtmuxで実現してます。これは別の記事editpromptの使い方に書きました。

PC移行やターミナルを乗り換えたくなっても安心

新しいターミナルが出てきた時に、「現在のターミナルに依存しまくっていて手を出せない……」という心配が減ります。

コピーモード

tmuxにはコピーモードがあります。キーボード操作だけでログをコピペできるので便利です。もちろんマウスでの範囲指定もできます。

前のプロンプト(コマンドの入力)までジャンプするキーバインドも設定できるため、長い出力をたどる時にも問題ありません。

SSH接続での作業継続

ここまでは自分のPCに入れたときのメリットを書いていきました。tmuxはサーバー側のPCに入れて使うのも便利です。

機械学習なんかでは長い時間動かすことが多く、ssh接続が切れてそのまま学習も途切れてしまうと気持ちまで途切れちゃいます。が、サーバー側にtmuxを入れてtmux上で動かせば、たとえ自分のPCとサーバーの接続が切れてもサーバー上では動いたままです。再接続すればまたログを見たりできます。

じゃあターミナルの分割機能とかは使わないの?

ときどき使います。たとえば筆者は、普段はWSLのUbuntuでtmuxを使って作業し、PowerShellを開くときはWeztermのタブ機能で開く、ということをよくやっています。今のところMacではtmux側の分割で十分です。

先にコンセプトを理解しておこう

tmuxはコンセプトを頭に入れてからの方が圧倒的に使いやすいので、まずはコマンドを叩かずに理解していきましょう。

ペイン

一つひとつの作業領域のことを「ペイン(pane)」といいます。

次の画像の例だと3つのペインがありますね。

tmuxのイメージ図

「ペイン1」はエディタ、「ペイン2」でCloude Code、「ペイン3」はログを表示して……というイメージです。

tmuxで1つの画面に複数開ける

ウィンドウ

ペインを束ねる1画面(レイアウト全体)を「ウィンドウ(window)」といいます。

「ウィンドウ1」はアプリ開発、「ウィンドウ2」はAPI開発、「ウィンドウ3」は管理画面の開発のレイアウトにして、作業毎に切り替えて……というイメージです。

セッション

tmuxを使うときの単位が「セッション(session)」です。これだけだと分かりづらいので、tmuxを使うときの流れを追ってみましょう。

  • ターミナルを開くと通常のシェルが立ち上げる
  • tmux new -s fooを実行する(=新しいセッションfooが立ち上がる)
  • 何か作業する
  • セッションから抜ける(=通常のシェルに戻る)
  • 何か作業する
  • tmux attach -t fooを実行する(セッションfooに戻る)

セッション > ウィンドウ > ペインという親子関係です。セッションの中で各ウィンドウ・ペインの状態が管理されています。

1つのセッションだけを使う人もいれば、「セッション1をプロジェクトA、セッション2をプロジェクトB」のように複数のセッションを使い分ける人もいます。筆者は1つ派です。

最初のうちはウィンドウ・ペインだけで足りると思うので、セッションを分けるのは使い慣れてからでよいと思います。

ソケット(忘れていい)

セッションのさらに上の概念としてソケットという概念もありますが、これを意識することはまず無いでしょう
名前空間のようなものです。tmuxに関わるスクリプトをテストしたい時などに使いますが、忘れて問題ありません。

  • 詳しく知りたい人:tmuxの-Lオプションを調べる
  • 活用例を知りたい人:別の記事を読む

ポップアップ

さらにtmuxには「ポップアップ」があります。一時的なコマンドを 画面を広くして使いたい時 に重宝します。筆者はlazygitのようなTUIの実行やファイル名補完などでよく使っています。

インストール方法

tmuxのインストール方法はGitHubリポジトリのWikiに書くプラットフォーム毎に書かれています。

たとえばMacのHomebrewやLinuxbrewの場合は次のようにインストールできます。

Homebrewの場合
brew install tmux

DebianやUbuntuの場合はこう。

DebianやUbuntuの場合
apt install tmux

Windowsには対応していません。

インストールできたか確認

次のコマンドを入力し、バージョンが表示されればインストール完了です。

Terminal window
tmux -V
tmux 3.5a

基本的な使い方

この記事では基本的な使い方のみに絞り、実際の開発での運用フローやキーバインドは別の記事で解説予定です。

セッションの立ち上げ

セッションの立ち上げは、tmuxコマンドを実行するだけです。

Terminal window
tmux

セッションに入ると、すでに1つウィンドウがあります。デフォルトだとこんな感じの画面です。

デフォルト設定でのtmuxの起動画面

一番下がステータスバーです。ウィンドウの一覧や日時などを表示できます。ステータスバーのカスタマイズは別の記事で解説予定です。

ウィンドウの操作

tmuxの操作は「Ctrlb」を入力した後に何らかのキーを入力することが多いです。

よく使うウィンドウの操作は次のとおり。

キーバインド内容覚え方
Ctrlb+c新しいウィンドウを作るcreate
Ctrlb+&ウィンドウを閉じる
Ctrlb+p前のウィンドウへ移動previous
Ctrlb+n次のウィンドウへ移動next

ウィンドウを閉じる操作を見てみましょう。

キーバインドを押すと、確認メッセージが表示されます。yなら閉じる、nなら閉じません。

ペインの操作

ウィンドウが作成されるとすでに1つのペインが作成されています。この最初のペインを分割することでレイアウトを変更します。

キーバインド内容覚え方
Ctrlb+ペインを上下分割
Ctrlb+%ペインを左右分割%o/o左右分割っぽい形
Ctrlb+xペインを閉じるバツ=x

ペインの移動

移動は矢印なので覚えやすいです。

キーバインド内容覚え方
Ctrlb+上のペインに移動矢印どおり
Ctrlb+右のペインに移動矢印どおり
Ctrlb+左のペインに移動矢印どおり
Ctrlb+下のペインに移動矢印どおり

ペインのサイズ変更

MetaはMacならoption、WindowsなどのキーボードならAltキーです。

キーバインド内容覚え方
Ctrlb+Metaペインを上に5つ分リサイズ矢印どおり
Ctrlb+Metaペインを右に5つ分リサイズ矢印どおり
Ctrlb+Metaペインを左に5つ分リサイズ矢印どおり
Ctrlb+Metaペインを下に5つ分リサイズ矢印どおり
Ctrlb+Ctrlペインを上に1つ分リサイズ矢印どおり
Ctrlb+Ctrlペインを右に1つ分リサイズ矢印どおり
Ctrlb+Ctrlペインを左に1つ分リサイズ矢印どおり
Ctrlb+Ctrlペインを下に1つ分リサイズ矢印どおり

一部のキー(Ctrlなど)は、OSショートカットキーの優先度によってうまく効かないかもしれません。OSの設定を変更するか、カスタマイズをして解決しましょう(別の記事で解説予定)。

キーバインドのヘルプ

Ctrlb+?を入力すると、キーバインドのヘルプが表示されます。

tmuxを終了する

「tmuxを終了 = セッションを終了」したいときはCtrlb+dを押します。ddetach(デタッチ=切り離す)で覚えましょう。

とりあえず最低限のキーバインドはこんなもんです。最初から全部覚えるのは大変&どうせカスタマイズするため、そこまで焦る必要はありません。


ここまでで「tmuxを使うと何がうれしいのか」「インストール方法」「最低限のキーバインド」を解説しました。これである程度は使える段階ですが、もっと使いこなしてほしいのでまた別の記事を書く予定です。