-
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で貼り付けできる.