S∆SS.

S∆SS Studio Notes · Tmux · Nº 02

Tmux — 02 PaneとSession

Paneの分割・移動・拡大と、Sessionのdetach・attachを区別する。Windowとの違いを判断する基準も示す。

§ 00 · Pane — 同時に見る必要がある画面だけを分ける

Paneは一つのWindow内の分割画面だ。サーバーログを見ながらコマンドを実行するなど、二つの画面を同時に比較したいときに役立つ。それぞれが独立したターミナルとプログラムを持つ。

C-b %は左右に、C-b "は上下に分割する。C-bの後に方向キーを押すと隣のPaneへ、C-b oでは次のPaneへ移動する。C-b qはPane番号を一時表示し、C-b zはactive Paneを拡大するか元の配置に戻す。C-b xはactive Paneを閉じるか確認する。

Paneの基本ショートカット
ショートカット機能
C-b %現在のPaneを左右に分割
C-b "現在のPaneを上下に分割
C-b 方向キーその方向のPaneへ移動
C-b o次のPaneへ移動
C-b qPane番号を表示して数字で選択
C-b z現在のPaneを拡大/拡大解除
C-b x現在のPaneの終了を確認

§ 01 · Session — 画面から離れても作業を残す

Sessionは複数のWindowをまとめたものだ。C-b dはプログラムを終了せず、現在のClientだけをSessionからdetachする。外側のシェルに戻るが、tmux serverとSession内のプログラムは実行を続けられる。

後でシェルからtmux attachを実行して再接続する。Sessionが複数ある場合はtmux list-sessionsで名前を確認し、tmux attach -t 名前で選ぶ。C-b sは接続した状態でSession一覧を開く。Session名はC-b $で変更できる。

§ 02 · 過去の出力を見る — C-b [でcopy modeに入る

ターミナルの通常のスクロールでtmuxの過去の出力をうまく見られない場合は、C-b [でcopy modeに入る。方向キーとPage Up・Page Downで移動し、qで抜ける。文字列の選択とコピーのキーは、mode-keysがemacsかviかによって異なることがある。

C-b ]はtmux paste bufferの内容を貼り付ける。OSのクリップボードとtmux bufferは別のものの場合がある。マウスのスクロールやクリップボード連携はmouseオプションとターミナル設定の影響を受けるため、既定のショートカットと区別する。

§ 03 · 何を分けるか — 目的が違えばWindow、同時に見るならPane

作業の目的が異なり画面全体を使いたければWindowを分ける。同じ作業で同時に比較する画面ならPaneを分ける。プロジェクトや接続先を丸ごと分け、ひとまとまりでdetachしたければSessionを分ける。

Paneを増やすほど文字が小さくなり、active Paneを見失いやすくなる。最初はWindowを基本単位にして、本当に同時に見る二画面だけをPaneで分けるほうが簡単だ。

記事を読む: sass.studio.