// CentOS 7 # yum install -y tmux // Ubuntu # sudo apt install tmux
ただし、yum でインストールされるのは 1.8 という古いバージョンなので、最新版(2.9)をインストールするには次のようにします。
# curl -kLO https://github.com/tmux/tmux/releases/download/2.9/tmux-2.9.tar.gz # yum -y install gcc libevent-devel ncurses-devel # tar -zxvf tmux-2.9.tar.gz # cd tmux-2.9 # ./configure # make # make install
ひとつのターミナルから複数のセッションを作成することができます。ターミナルを閉じてもセッションは維持されます。セッション実行中は画面の下部に緑のステータスバーが表示されます。
コマンド | 説明 |
---|---|
tmux | セッションを起動 |
tmux new -s 名前 | 名前付きセッションを起動 |
exit | セッションを終了 |
Ctrl-b d | セッションを一時的に中断してメインに戻る (Detach) |
tmux a | 中断していたセッションに戻る (Attach) |
tmux a -t 名前 | 中断していた名前付きセッションに戻る |
Ctrl-b s | セッションの一覧を表示 |
tmux list-sessions | セッションの一覧を表示 |
tmux kill-session -t 名前 | 指定したセッションを終了 |
ひとつのセッションの中で複数のウィンドウを作成し、切り替えながら作業することができます。ウィンドウの一覧は画面下部のステータスバーに 「数字:ウィンドウ名」で表示されます。
コマンド | 説明 |
---|---|
Ctrl-b c | 新規ウィンドウを作成 (Create) |
Ctrl-b 数字 | 数字で指定したウィンドウに移動 |
Ctrl-b n | 次のウィンドウに移動 (Next) |
Ctrl-b p | 前のウィンドウに移動 (Prev) |
Ctrl-b l | 以前のウィンドウに移動 (Last) |
Ctrl-b w | ウィンドウの一覧を表示 (Window) |
Ctrl-b , | ウィンドウ名を変更 |
Ctrl-b ' | ウィンドウ番号を指定して移動 |
Ctrl-b . | ウィンドウ番号を変更 |
Ctrl-b & | ウィンドウ名を終了 (確認付き) |
exit | ウィンドウを終了 |
ひとつのウィンドウをさらに上下左右のペインに分割して操作することができます。
コマンド | 説明 |
---|---|
Ctrl-b " | 上下にペインを分割 |
Ctrl-b % | 左右にペインを分割 |
Ctrl-b 矢印 | ペインを移動 |
Ctrl-b o | 次のペインに移動 |
Ctrl-b ; | 以前のペインに移動 |
Ctrl-b q | ペイン番号を表示 |
Ctrl-b { | ペイン順序を前方向に入れ替え |
Ctrl-b } | ペイン順序を後方向に入れ替え |
Ctrl-b z | ペインを最大化・復帰 |
Ctrl-b SPACE | ペインのレイアウトを変更 |
Ctrl-b t | ペインに時計を表示 (q で終了) |
Ctrl-b ! | ペインをウィンドウ化 |
Ctrl-b x | ペインを終了(確認有り) |
exit | ペインを終了 |
コピーモードを使用して画面上の文字をコピー・ペーストすることができます。デフォルトは Emacs 風のキーバインドですが、~/.tmux.conf に set-window-option -g mode-keys vi を追記して vi モードで使用するのがお勧めです。コピーモード中は画面の右上に選択文字数が黄色く表示されます。
コマンド | 説明 |
---|---|
Ctrl-b [ | コピーモードを開始する |
h | カーソルを左に移動する |
j | カーソルを下に移動する |
k | カーソルを上に移動する |
l | カーソルを右に移動する |
SPACE | コピー選択を開始する |
ENTER | コピー選択を終了してコピーバッファに格納し、コピーモードを終了する |
Ctrl-b ] | コピーした内容を貼り付ける |
v | 矩形モードを切り替える |
q | コピーモードを途中で終了する |
Ctrl-u | スクロールアップ |
Ctrl-d | スクロールダウン |
Ctrl-b | ページアップ |
Ctrl-f | ページダウン |
コマンド | 説明 |
---|---|
Ctrl-b ? | キーバインドの一覧を表示 (q で戻る) |
Ctrl-b : | コマンド入力モード (list-windowsなど) |
~/.tmux.conf ファイルで tmux の挙動をカスタマイズすることができます。
# Prefix(Ctrl-b)をCtrl-jに変更する unbind-key C-b set-option -g prefix C-j bind-key C-j send-prefix # ペインの開始番号を 0 から 1 に変更する set-option -g base-index 1 # マウスでウィンドウ・ペインの切り替えやリサイズを可能にする set-option -g mouse on # tmux 2.1以降 # set-option -g mode-mouse on # tmux 2.0以前 # set-option -g mouse-select-window on # tmux 2.0以前 # set-option -g mouse-select-pane on # tmux 2.0以前 # set-option -g mouse-resize-pane on # tmux 2.0以前 # マウスホイールでヒストリではなくスクロールできるようにする set -g mouse on set -g terminal-overrides 'xterm*:smcup@:rmcup@' # ステータスバーの背景色を変更する set-option -g status-bg "colour255" # コピーモードのキー操作をviライクにする set-window-option -g mode-keys vi # コピーした際にWindowsのクリップボードにも転送する (yum install -y xsel) bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xsel -bi"
TeraTerm で tmux からのクリップボード書き込みを許可するには、TeraTerm の [設定]-[その他の設定]-[制御シーケンス] で [リモートからのクリップボードアクセス] を [読込/書込] にする必要があるようです。