概要
私はつい最近までターミナルマルチプレクサはscreenを使用していたのですが、CentOS8からはなんと標準インストールではなくなってしまっていました。正確にはepelリポジトリからインストールはできるのですが、せっかくなのでもう一つ、有名なターミナルマルチプレクサの「tmux」に移行しようと思い、いろいろ調べてみました。
screenとtmux、どちらも機能的に大きな違いはほぼないのですが、コマンドが違う為慣れるまでは時間がかかりそうです。
なので、使いそうなtmuxのコマンドをまとめてみました。
コマンドの表記について
tmuxのコマンドは、Ctrl+bの後にdを押さなければいけなかったり、「〇〇の後に〇〇をする」といった動作が多いです。そのため、ここでは「~の後に…」を「~→…」で表します。
コマンドラインでの操作方法
まず、インストールしていない方はインストールしちゃいましょう。dnf -y install tmux
特に設定とかは何もしなくても問題ないです。
新規セッション開始
tmux
名前をつけて新規セッション(testというセッション)開始
tmux new -s test
セッションの一覧表示
tmux ls
接続クライアントの一覧表示
tmux lsc
セッション再開 (-t <対象セッション名>で名前の付いたセッションの指定も可能)
tmux a
(最後にデタッチしたセッションが再開されます)tmux a -t test
(testというセッションが再開されます)セッション終了 (-t <対象セッション名>で名前の付いたセッションの指定も可能)
tmux kill-session
(最後にデタッチしたセッションが終了されます)tmux kill-session -t test
(testというセッションが終了されます)tmux全体を終了
tmux kill-server
キーコマンドの操作方法
基本
Ctrl+b→? キーバインド一覧Ctrl+b→: コマンドプロンプト
セッション操作
Ctrl+b→ s セッションの一覧選択Ctrl+b→ d セッションから離脱(デタッチ)
Ctrl+b→ $ セッションの名前変更
Ctrl+b→Ctrl+Z tmuxを一時中断
ウインドウ(Screenで言うレイアウト)操作
Ctrl+b→c 新規ウインドウ作成Ctrl+b→w ウインドウの一覧選択
Ctrl+b→0~9 指定番号のウインドウへ移動
Ctrl+b→& ウインドウの破棄
Ctrl+b→n 次のウインドウへ移動
Ctrl+b→p 前のウインドウへ移動
Ctrl+b→l 以前のウインドウへ移動
Ctrl+b→’ 入力番号のウインドウへ移動
Ctrl+b→. 入力番号にウインドウ番号を変更
Ctrl+b→, ウインドウの名前変更
Ctrl+b→f ウインドウの検索
ペイン(screenで言うウィンドウ)操作
Ctrl+b→” 上下にペイン分割Ctrl+b→% 左右にペイン分割
Ctrl+b→カーソル 指定方向のペインへ移動
Ctrl+b→q ペイン番号を表示
Ctrl+b→Ctrl+カーソル ペインのサイズを変更
Ctrl+b→! ペインを解除してウインドウ化
Ctrl+b→o ペインを順に移動
Ctrl+b→{ ペインの入れ替え(前方向)
Ctrl+b→} ペインの入れ替え(後方向)
Ctrl+b→Ctrl+o ペインの入れ替え(全体)
Ctrl+b→; 以前のペインへ移動
Ctrl+b→z 現在のペインを最大化/復帰
Ctrl+b→x ペインの破棄
Ctrl+b→Space レイアウトを変更
Ctrl+b→Alt+1~5 レイアウトを変更
Ctrl+b→t ペインに時計を表示
コピーモード
Ctrl+b→[ コピーモードの開始(カーソルキーで自由に移動)Ctrl+b→Space コピー開始位置決定(viモード)
Ctrl+b→Enter コピー終了位置決定(viモード)
Ctrl+b→] コピーした内容を貼り付け
総括
screenだとCtrl+aだったものがCtrl+bだったり、ペイン(screenのウィンドウ)操作もtmuxの方が細かい気がします。ペインってなんだ???と最初なりましたが、screenでのウィンドウと認識してしまえばそこまで混乱しなかったです。ただ仕組みが少し違うみたいなので、そちらも調べていきたいですね。
ウィンドウもscreenのレイアウトと同じ意味合いで、初めは混乱しました。
慣れるまではやはり使って使って使いまくって、体に覚えさせるのが一番早いかもしれません。