はじめに
tmuxとは複数の端末セッションを管理し、同時に複数のコマンドラインプログラムを実行出来るやつです。Linux標準だとscreenがそれにあたります。
最近になってようやくまともな使い方を覚えたのでまとめたいと思います。まずtmuxは大きい方からセッション→ウィンドウ→ペインという単位で管理するという事を理解して下さい。そしてそれぞれの操作方法を知りましょう。
また以下のコマンドはtmuxコマンドといい、<Prefixキー>:
からtmuxコマンドラインに入り入力するものです。ちなみに自分の場合<Ctrl + q>
がtmuxのPrefixキーにしていますのであしからず。
セッション操作
- <Ctrl + q>s
- セッション選択
- <Ctrl + q>:kill-server
- 全セッション削除
ウィンドウ操作
- <Ctrl + q>w
- ウィンドウ選択
- <Ctrl + q>c
- ウィンドウ作成
- <Ctrl + q>n
- 次のウィンドウに移動
- <Ctrl + q>p
- 前のウィンドウに移動
ペイン操作
- <Ctrl + q>m
- アクティブペインの枠線を太くする
- <Ctrl + q>:join-pane -s [windowインデックス].[paneインデックス]
- 別ウィンドウのペインを持ってくる
- <Ctrl + q>:join-pane -t [windowインデックス]
- 別ウィンドウにペインを移動する
ウィンドウとペインのインデックスは1始まりだと覚えましょう。
蛇足
もっとこうしたいという願望はあるのですが、現状のtmux力では解決策が思いつきませんでした。例えば別ウィンドウ内のペインの入れ替えを簡単に行いたいのですが、現状は2回コマンドを実行する必要があります。しかもある程度どのウィンドウに何のペインがあるかという事を把握していないといけないという..
bind-key C-j command-prompt -p "join pane from:" "join-pane -s '%%'"
bind-key C-s command-prompt -p "send pane to:" "join-pane -t '%%'"
もう少し簡単にペインの移動を行う方法がないか調べてみたいと思います。