tmuxの考え方
セッション・・・複数のウィンドウを持つ固まりウィンドウ・・・複数のペインを持つ1画面
ペイン・・・いわゆる操作できる端末
プレフィックスキー
全てプレフィックスキー(デフォルトはC-b)を押した後に入力する※ $で始まるものはコマンド操作
それ以外はプレフィックスキー後に入力する
セッション操作
hogesessionというセッション名で作成
$ tmux new -s hogesession
セッション選択
:choose-session
セッション一覧を表示
$ tmux ls
hogeセッションにアタッチ
$ tmux a -t hoge
ウィンドウ操作
windowのリネーム,※:set-window-option automatic-rename onにするとデフォルトになる
新しいwindowの作成
c
windowの数字選択指定
0~9
windowの数字を変更
.
ウィンドウを8番へ移動
move-window -t 8
ウィンドウ選択
:choose-window
ウィンドウの入れ替え(1と入れ替える)
swap-window -t 1
ペインpane操作
ペインの入れ替え
{
}
pane番号表示
q
レイアウト変更
SPACE
上下左右サイズ変更
+
-
<
>
ペインの入力同期 on/off
:set-window-option synchronize-panes on
:set-window-option synchronize-panes off
ペインを:1ウィンドウから一枚もらってくる
:join-pane -s :1
ペインを:1ウィンドウに移す
:join-pane -dt :1※:1.3という指定にすればペイン番号3指定
その他操作
コピーバッファの選択
=
コピーバッファを一覧を表示
lsb
コピーバッファの1番をペースト
paste-buffer -b 1
時計表示
t
screenと比べて
- 画面分割の制御が楽(上下左右のリサイズが楽)
- 画面表示が崩れない気がする
- 軽い気がする
- screenに比べて設定ファイルが分かりやすい気がする ※
- ウィンドウの中に画面分割のペインが紐付いているので管理が楽(分割された画面で画面が変わってしまうこちらはウィンドウの分割状態をそのまま保持できるため)
- クラサバ志向なので他人がすでにアタッチしているセッションに参加できる(2人で同じ端末をみれる何気にすごい)
- コピーバッファが何個も持てる
自分の設定
#key bind s split-window -v bind v split-window -h bind j select-pane -D bind k select-pane -U bind h select-pane -L bind l select-pane -R bind -r < resize-pane -L 1 bind -r > resize-pane -R 1 bind -r - resize-pane -D 1 bind -r + resize-pane -U 1 bind : command-prompt bind C-i select-pane -t :.+ bind Escape copy-mode setw -g mode-keys vi set -g prefix C-a bind C-a send-prefix #option set -g display-time 6000 set -g status-interval 30 set -g mouse-select-pane on #status line set -g status-right "#(uptime|cut -d, -f 3 | cut -d: -f 2) %Y/%m/%d (%a) %p %I:%M" setw -g window-status-format "#I:#W" setw -g window-status-current-format "#I:#W_#P" set -g status-bg black set -g status-fg cyan set -g status-left-fg black set -g status-left-bg magenta set -g status-right-fg black set -g status-right-bg green set-window-option -g window-status-current-attr bright,reverse set-window-option -g window-status-current-bg cyan set-window-option -g window-status-current-fg black #window new -s def -n rss_log "tail.pl /var/log/rss.log" splitw -h 'cd /var/log ; tailf allevent & tailf samba/log.nmbd &tailf samba/log.smbd & tailf lighttpd/access.log ' neww
参考リンク
日本語manWikiNote
0 件のコメント:
コメントを投稿