tmux
端末 マルチプレクサ。単一 ウィンドウで複数 の端末 セッションを管理
インストール
# macOS
brew install tmux
# Ubuntu/Debian
sudo apt install tmux
# Arch Linux
sudo pacman -S tmux基本概念
- Session : ワークスペース。複数 の window を含 む
- Window : 単一 画面 。複数 の pane を含 む
- Pane : 分割 されたサブウィンドウ
セッション管理
# 新しいセッションを作成
tmux
tmux new -s session-name
# セッションを一覧表示
tmux ls
# セッションにアタッチ
tmux attach -t session-name
tmux a -t session-name
# セッションをデタッチ
# tmux 内で Ctrl+b d
# セッションを終了
tmux kill-session -t session-name常用ショートカット
すべてのショートカットは Ctrl+b が前置
キー
セッション
| キー | 機能 |
|---|---|
d | セッションをデタッチ |
s | セッションを一覧 表示 |
$ | セッション名を変更 |
ウィンドウ
| キー | 機能 |
|---|---|
c | 新規 ウィンドウを作成 |
n | 次 のウィンドウ |
p | 前 のウィンドウ |
0-9 | 特定 のウィンドウに切替 |
, | ウィンドウ名 を変更 |
& | ウィンドウを閉 じる |
w | ウィンドウ一覧 |
ペイン (Pane)
| キー | 機能 |
|---|---|
% | 垂直 分割 |
" | 水平 分割 |
方向キー | ペインを切替 |
x | ペインを閉 じる |
z | ペインを最大化 /復元 |
{ / } | ペイン位置 を交換 |
スペース | レイアウトを切替 |
コピーモード
| キー | 機能 |
|---|---|
[ | コピーモードに入 る |
q | コピーモードを終了 |
Space | 選択 を開始 |
Enter | 選択 をコピー |
] | ペースト |
設定
設定
ファイル場所
:~/.tmux.conf
# プレフィックスキーを Ctrl+a に設定
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# マウスを有効化
set -g mouse on
# ウィンドウインデックスを 1 から開始
set -g base-index 1
setw -g pane-base-index 1
# 256 色サポート
set -g default-terminal "screen-256color"
# ウィンドウ分割ショートカット
bind | split-window -h
bind - split-window -v
# vim スタイルのペイン切替
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# 設定の即時リロード
bind r source-file ~/.tmux.conf \; display "Reloaded!"実用テクニック
セッション共有
# 複数人が同じセッションに接続
tmux new -s shared
# 別の端末で
tmux attach -t sharedセッションの保存と復元
tmux-resurrect プラグインを使用 :
# 保存: Ctrl+b Ctrl+s
# 復元: Ctrl+b Ctrl+rSSH との組み合わせ
ssh user@host -t "tmux attach || tmux new"