-
session: いくつかの作業をまとめて行うためのプロジェクトのようなもの
-
window: ブラウザのタブみたいなもの。session起動時は1つできている。
-
pane: windowをさらに画面分割したもの
-
detach: sessionから切り離す
-
attach: 接続し直す
$ tmux new -s セッション名
tmuxではprefix key(default: Ctrl+b)があって、これをおした後にコマンドで色々操作を出来る。
- detach:
prefix + d
(detachのd) - セッション名の変更:
prefix + $
- Help:
prefix + ?
(画面から抜けるにはEsc) - Command:
prefix + :
(ここでdetach-clientとか打てばdetachできる) - 時計:
prefix + t
蛇足だけど面白い。作業している画面を隠してスクリーンセーバ的に使えたりして意外と便利。
ショートカットキーがOSの操作と被る場合はCommandとか使って対応する。
セッションの一覧
$ tmux ls
セッションのアタッチ
$ tmux attach -t セッション名 # attachはaと省略可
セッションの削除
$ tmux kill-session -t セッション名 # 1つだけ
$ tmux kill-server # 全てのセッション
-
windowの追加:
prefix + c
追加すると画面下のsession名の右にある0:bash-
とかが増えていく。 -
隣のwindowに移動:
prefix + n
(next),prefix + p
(previous) -
windowの移動:
prefix + (window id)
画面下にあるそれぞれのwindow idをprefixキーの後に押す -
window名の変更:
prefix + ,
-
windowの一覧:
prefix + w
カーソル移動&Enterで移動もできる -
windowの検索:
prefix + f
-
windowの終了:
prefix + &
-
水平方向:
prefix + "
-
垂直方向:
prefix + %
-
pane間の移動
prefix + o
次々に移動prefix + 矢印
好きな向きに移動prefix + q
各paneの番号の表示。その時に現れた番号を押すとすぐに移動できる。かっこいいしこれだけで十分
-
paneの入れ替え
prefix + {
: paneを前のやつと入れ替えprefix + }
: paneを次のやつと入れ替え
-
paneの削除:
prefix + x
-
paneをwindowとして独立:
prefix + !
paneのサイズを変えるのは、MacOSのターミナルを使ってると操作がバッティングしてショートカットだとうまく動かない。
だからコマンドを打つ必要がある ( prefix + :
の後に resize-pane -U 5
と入力すると上に5個分大きくなる)
このコマンドいちいち打つの面倒だから上下左右への拡大をHJKLに割り当てる。
# ~/.tmux.conf
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
tmuxに接続し直すか、prefix + :
でsource-file .tmux.conf
で読み込める。
後はprefix + H
とかで動かせる
Ctrl + b
はUNIXの操作でキャレットを左に動かすCtrl + t
の方がtmuxの頭文字で覚えやすいCtrl + t
が必要なときのために、2回押したら普通のCtrl+t
を入力したい。
# .tmux.confに追記
set -g prefix C-t # Ctrl+tに割り当て。 gはglobalのこと
unbind C-b # Ctrl+bの割り当てを無くす
bind c-t send-prefix # Ctrl+tを2回押せば普通にCtrl+tが使える
bind r source-file ~/.tmux.conf \; display "Configuration Reloaded!" # Ctrl+rでsource-fileする
Windowやpaneを与えてコピペとか出来るようにする。 まずは .tmux.conf を編集。
# .tmux.conf
setw -g mode-keys vi # キー操作がviモードになって、ショートカットキーの衝突が起きない
-
コピーモード:
prefix + [
viのキーバインドで移動できる。コピーの開始をしたい位置でspace
をおして適当な所でEnter
これでBufferにコピーされる。 -
貼り付け:
prefix + [
コピーはいくつもBufferに保存できる。
prefix + :
で`list-buffers: コピーの一覧prefix + =
好きなモノを選んでReturnで貼り付けできる.