tmux 基本的な使い方

tmuxのメリット

  • 1つの端末で複数の擬似端末を起動できます。
  • tmuxはバックグラウンドで動くので、端末との接続が切れても、異なる環境から同じtmuxセッションへ接続できます。
  • 起動した仮想端末でコピペが可能です。
  • 画面をpaneに分割できます。

Install

まずはMacPotsからインストールします。

% sudo port install tmux

設定

設定ファイルは新規Session作成時に読み込まれます。

% vi ~/.tmux.conf

構成

  • tmux Server(Session)
  • tmux Crient(仮想端末)

Create Session

tmuxtmux new-session)とコマンド入力します。

すると、Sessionが立ち上がります。

Sessionとは、tmuxが管理している仮想端末空間です。Sessionの中にWindow、pane(表示領域)を持ちます。

プリフィックスキー

Control+bが接頭辞であり、それに続けてコマンドキーを入力します。

ヘルプは、Control+b+?です。

f:id:hrt0kmt:20141108211555p:plain


現在起動中のSessionの確認には、tmux lsコマンドを実行します。

f:id:hrt0kmt:20141108171403p:plain

% tmux ls
0: 1 windows (created Sat Nov  8 21:00:28 2014) [234x44] (attached)

% tmux list-client
/dev/ttys000: 0 [234x45 xterm] (utf8)

tmuxを立ち上げて、さらにtmux attachなどを実行すると、tmux内でtmuxを起動することになり以下のエラーが表示されてしまいます。

[test@omac] ~
% tmux attach -t 0
sessions should be nested with care, unset $TMUX to force

Detach Session

Sessionを抜ける(Detach)際は、contrl bを押した後、dを入力することでexitできます。

ネットが切れることにより、Sessionは自動的にDetachされます。

Detachにより、実行中の処理は継続させたままクライアントを終了しますが、再度そのセッションへAttachし、復帰することが可能です。

Attach

attachコマンドでSessionに復帰します。

直近のSessionにattach

% tmux attach

Sessionを指定してattach

Session番号は`tmux list-sessions``で確認可能です。

% tmux attach -t 1

Delete Session

Sessionを削除します。

% tmux kill--session -t 1

すべてのSessionを削除します。

% tmux kill-server

Create Window

Contrl+b + c(:new-window)で新しいWindowを作成できます。

% tmux ls
0: 2 windows (created Sat Nov  8 21:00:28 2014) [234x44] (attached)

lsで確認すると、2windowsになっていることが分かります。

画面下部の数値は、Windowを表しており、*が現在のWindowです。

[0] 0:zsh- 1:zsh*

Window分割・移動・削除

Control+b+"で横に分割、Control+%で縦に分割できます。

Control+b+oで移動可能です。

Control+b+x(+y)で削除できます。

Window切り替え

Control+b+Windowの数字でWindowを切り替えることができます。

Window一覧

Control+b+wでWindowの一覧を表示できます。

f:id:hrt0kmt:20141108215031p:plain

戻るときはqです。

Windowの削除

Control+b+&(+y)で削除可能です。

カスタマイズ

設定ファイル(.tmux.conf)で様々にカスタマイズ可能ですが、もし、設定ファイルをいじった後tmuxを起動させようとしても起動しない場合([exited]と表示されてしまう)は、設定ファイルの

set-option -g default-command "reattach-to-user-namespace -l zsh"

の部分を削除するか、以下のようにデフォルトの設定にすると

set-option -g default-command ""

正常に起動できるようになります。