GNU screenからのtmux乗り換えメモ
Ubuntu(といってもLinux Mintですが)の環境を、GNU screenより便利との噂のtmuxに時代はGNU screenからtmuxへ - Dマイナー志向を読みながら移行してみました。

画像はMac
tmuxにGNU screen互換設定ファイル(./examples/screen-keys.conf)が含まれているので、そちらを読み込んで使ってみました。
なお、tmuxのプレフィックスキーはC-b、GNU screenのプレフィックスキーはC-aですが、個人的にC-tの方が使いやすいので、そちらに変更しました。
以下、screen-keys.confに含まれるキーマップ一覧(※ プレフィックスキーは除く)
機能の説明はManpage of TMUXに詳しく載っています。
| キーマップ | コマンド名 | 機能 |
|---|---|---|
| x | lock-server | パスワードが入力されるまでサーバをロック? |
| c | new-window | 新しいウィンドウを生成 |
| C-d | detach | デタッチ |
| ∗ | list-clients | サーバにアタッチしている全クライアントを表示 |
| C-@, C-n, Space, n | next-window | 次のウィンドウを表示 |
| A | command-prompt "rename-window %%" | 現在のウィンドウをリネーム |
| C-h, C-p, p, BackSpace | previous-window | 前のウィンドウを開く |
| C-t | last-window | 最後に開いていたウィンドウを開く |
| C-w, w | list-windows | ウィンドウ一覧を表示 |
| \ | confirm-before "kill-server" | tmuxを終了(複数立ち上げていた場合には、それら全てが終了される) |
| C-K, C-k | confirm-before "kill-window" | 現在のウィンドウを終了 |
| C-l, l | refresh-client | 更新 |
| C-| | split-window | 垂直分割 |
| Tab | select-pane -t:.+ | アクティブなペインを変更? |
| BTab | select-pane -t:.- | アクティブなペインを変更? |
| " | choose-window | ウィンドウ選択モード |
?付きの文字は機能の効果を未確認。
なお、リンク先にも記載されていますが、垂直分割はペインが垂直に並ぶように分割するという意味で、vimやscreenとは意味が逆です。
なお、水平分割をする為のキーマップは、
| % | split-window -h | 水平分割 |
その他、ペイン間の移動の為のキーマップとして、
| Up | up-pane | 上のペインへ移動 |
| o, Down | down-pane | 下のペインへ移動 |
ペインの幅変更の為のキーマップとして、
| C-Up, M-Up | resize-pane -U, resize-pane -U 5 | ペインを上に広げる |
| C-Down, M-Down | resize-pane -D, resize-pane -D 5 | ペインを下に広げる |
| C-Left, M-Left | resize-pane -L, resize-pane -L 5 | ペインを左に広げる |
| C-Right, M-Right | resize-pane -R, resize-pane -R 5 | ペインを右に広げる |
などなど。詳しいことは、
| ? | list-keys | キーマップ一覧を表示 |
でも確認可能なので、分からない時にはこれで確認できます。