2011年1月1日土曜日

tmuxを試してみた

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


参考リンク

日本語man
WikiNote

0 件のコメント: