読者です 読者をやめる 読者になる 読者になる

ゆず日記

戦う Vimmer 兼 Dvorakユーザ 兼 Kinesisユーザ 兼 おぺらー が戦わないブログ

GNU screenからのtmux乗り換えメモ

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 キーマップ一覧を表示

でも確認可能なので、分からない時にはこれで確認できます。

というわけで

自宅環境のMacではC-UpなどがSpacesのスペース移動に取られちゃったりするので、上記にまとめたコマンドを参考にUbuntu, Mac兼用の自分なりのキーマップを作ってみます。