tmux
エンジニアのためのWebチートシート
tmuxはターミナルマルチプレクサです。 セッション・ウィンドウ・ペイン管理、コピーモード、設定カスタマイズなどをチートシートにまとめました。
はじめに
基本概念
| 概念 | 説明 |
|---|---|
| セッション | tmuxの最上位の単位。複数のウィンドウを持つ |
| ウィンドウ | セッション内のタブ。画面全体を占める |
| ペイン | ウィンドウ内の分割された領域 |
| プレフィックスキー | Ctrl + b(すべてのショートカットの前に押す) |
インストール
セッション管理
CLIコマンド
| コマンド | 説明 |
|---|---|
| tmux | 新しいセッションを開始 |
| tmux new -s name | 名前付きセッションを開始 |
| tmux ls | セッション一覧を表示 |
| tmux a | 直前のセッションにアタッチ |
| tmux a -t name | 名前を指定してアタッチ |
| tmux kill-session | 直前のセッションを終了 |
| tmux kill-session -t name | 名前を指定してセッションを終了 |
| tmux rename -t old new | セッション名を変更 |
ショートカット
| ショートカット | 説明 |
|---|---|
| prefix + d | セッションからデタッチ |
| prefix + $ | 現在のセッション名を変更 |
| prefix + s | セッション一覧を表示・選択 |
| prefix + ( | 前のセッションに移動 |
| prefix + ) | 次のセッションに移動 |
| prefix + L | 最後に使用したセッションに切替 |
ウィンドウ管理
ウィンドウのステータスバー表示
1 const app = express()
2
3 app.get('/', handler)
4 app.listen(3000)
~
~
~
[0] 0:bash 1:vim* 2:logs
ステータスバーにウィンドウ一覧が表示される(*が現在のウィンドウ)
ショートカット
| ショートカット | 説明 |
|---|---|
| prefix + c | 新しいウィンドウを作成 |
| prefix + n | 次のウィンドウに移動 |
| prefix + p | 前のウィンドウに移動 |
| prefix + 0-9 | 番号でウィンドウを選択 |
| prefix + , | 現在のウィンドウ名を変更 |
| prefix + & | 現在のウィンドウを閉じる |
| prefix + w | ウィンドウ一覧を表示・選択 |
| prefix + l | 最後に使用したウィンドウに切替 |
ペイン管理
$ vim app.js
~
~
~
~
~
$ npm run dev
Compiling ...
Server running...
Ready on :3000
$ ▊
$ git status
On branch main
nothing to commit
[0] 0:dev*
prefix + % 水平分割 | prefix + " 垂直分割
ペインの分割
| ショートカット | 説明 |
|---|---|
| prefix + % | 左右に分割(水平分割) |
| prefix + " | 上下に分割(垂直分割) |
ペイン間の移動
| ショートカット | 説明 |
|---|---|
| prefix + Arrow | 矢印キー方向のペインに移動 |
| prefix + o | 次のペインに移動 |
| prefix + q | ペイン番号を表示(番号を押すと移動) |
| prefix + ; | 直前のアクティブペインに移動 |
ペインのリサイズ
| ショートカット | 説明 |
|---|---|
| prefix + Ctrl+Arrow | 矢印方向に1セルずつリサイズ |
| prefix + Alt+Arrow | 矢印方向に5セルずつリサイズ |
ペインの操作
| ショートカット | 説明 |
|---|---|
| prefix + z | ペインを最大化/元に戻す(ズームトグル) |
| prefix + x | 現在のペインを閉じる |
| prefix + { | 現在のペインを前に移動 |
| prefix + } | 現在のペインを後に移動 |
| prefix + ! | ペインを新しいウィンドウに分離 |
ペインレイアウト
レイアウト操作
| ショートカット | 説明 |
|---|---|
| prefix + Space | 次のレイアウトに切替 |
| prefix + Alt+1 | 均等水平レイアウト(even-horizontal) |
| prefix + Alt+2 | 均等垂直レイアウト(even-vertical) |
| prefix + Alt+3 | メイン水平レイアウト(main-horizontal) |
| prefix + Alt+4 | メイン垂直レイアウト(main-vertical) |
| prefix + Alt+5 | タイルレイアウト(tiled) |
コピーモード
開始・移動・検索
| ショートカット | 説明 |
|---|---|
| prefix + [ | コピーモードを開始 |
| Arrow / h j k l | カーソル移動(矢印キー / hjkl) |
| / | 前方検索 |
| n | 次の検索結果に移動 |
| g | バッファの先頭に移動 |
| G | バッファの末尾に移動 |
選択・コピー・ペースト
| ショートカット | 説明 |
|---|---|
| Space | 選択を開始 |
| Enter | 選択範囲をコピー |
| prefix + ] | コピーした内容を貼り付け |
| q / Esc | コピーモードを終了 |
設定(~/.tmux.conf)
基本設定
キーバインド・ステータスバー
便利なTips
ペインの同期(synchronize-panes)
便利コマンド
| コマンド | 説明 |
|---|---|
| tmux list-keys | 全キーバインドを表示 |
| prefix + ? | キーバインド一覧を表示(tmux内) |
| prefix + t | 時計を表示 |
| prefix + : | tmuxコマンドプロンプトを開く |
| tmux info | tmuxサーバーの情報を表示 |
| tmux source ~/.tmux.conf | 設定ファイルを再読み込み |
引用・参考リンク
Related Cheatsheets
- Linuxコマンド-Linuxの基本的なコマンドのチートシートです。ファイル操作、テキスト処理、プロセス管理、ネットワーク、システム情報など、日常的に使用するコマンドをまとめました。
- Git-Gitとはソースコードの変更履歴を記録・追跡するための分散型バージョン管理システムです。過去のファイルの状態に戻したり、チームで変更履歴を共有して効率良くチーム開発を行うことができます。 そんな便利なGitをチートシートにまとめてみました。
- Vim-Vimは高機能なテキストエディタです。 モード操作、移動、編集、検索・置換、ウィンドウ操作など、よく使うキーバインドをチートシートにまとめました。
- パッケージマネージャー-npm、yarn、pnpmの3つのJavaScriptパッケージマネージャーのコマンド比較チートシートです。 インストール、アップデート、削除など、日常的に使うコマンドを対比表形式でまとめました。
- Bash / Shell-Bash(Bourne Again Shell)のチートシートです。 ファイル操作、テキスト処理、変数、条件分岐、ループ、関数など、シェルスクリプトの基本をまとめました。
Related Goods
WebTerm - Recommended tools
WebTermは、ブラウザでLinuxコマンド・Gitコマンドを安全に実行でき、チュートリアル式で学べるターミナルサンドボックスです。
AIコーディングツールの普及に伴い、CLIの基礎知識を身につける重要性は増しています。実際のターミナルを操作するのに抵抗がある方でも、WebTermはローカル環境を壊す心配がありません。「会員登録不要・無料」で利用でき、学習環境として最適です。

WebTerm
Browser Terminal Sandbox for Learning CLI
開く
All Cheatsheets
エンジニア・プログラマー向けの便利なチートシートを多数まとめています(SP/Tablet/PC対応)
すべてのチートシートを見る



