log.saiias

あてにならない備忘録

tmuxの導入

縦分割がデフォルトで入っていると聞いてtmuxを導入してみた。インストール方法は

$ brew install tmux

導入が楽で(・∀・)イイネ!!
あとは以下のような設定にしました。
window関連のキーバインドはprefix+アルファベット
pane関連のキーバインドはprefix+^C-アルファベットで統一するようにしてみた。

##UTF-8を用いる
set-window-option -g utf8 on

##256色表示する
set -g default-terminal "screen-256color"
#
set-option -g base-index 1

##Prefixキーを変更する
unbind-key C-b
set-option -g prefix C-t
bind-key C-t send-prefix

##バッファ上限数
set-option -g buffer-limit 20
##後方スクロール行数の指定
set-option -g -g history-limit 5000
##メッセージの表示時間
set-option -g display-time 2500
##コピーモードでvi風の操作
set-window-option -g mode-key vi
#デタッチ
bind d confirm-before "detach"
##更新間隔
set-option -g status-interval 5
##ペインをマウスで操作する
set-option -g mouse-select-pane on
set -g pane-active-border-fg black
#コピーモード
bind C-t copy-mode
##バッファの貼り付け
bind C-y paste-buffer
bind y paste-buffer
#tmuxの設定を再読み込み
unbind r
bind   r source-file ~/.tmux.conf


##キーバインド
bind C-n next-window
bind C-p previous-window
bind C-c new-window

##ステータスバーの設定
set-option -g status-utf8 on
set-option -g status-interval 5
set-option -g status-bg black
set-option -g status-bg white
set-option -g status-right '%Y/%m/%d %H:%M'

##画面をvi風に分割する
bind h split-window -v
bind v split-window -h

##paneの移動をvi風にする
bind C-h select-pane -L
bind C-j select-pane -D
bind C-k select-pane -U
bind C-l select-pane -R
bind C-o select-pane -t .+
bind o select-pane -t .+

##カーソルキーでpaneの移動
# bind -n S-left select-pane -L
# bind -n S-down select-pane -D
# bind -n S-up select-pane -U
# bind -n S-right select-pane -R

##ウィンドウの破棄
bind k confirm-before "kill-window"
##ペインの破棄
#bind C-K confirm-before "kill-pane"

##どのwindowのどのpaneにいるかわかりやすくする
## window-status-current
setw -g window-status-current-fg black
setw -g window-status-current-bg cyan
setw -g window-status-current-attr bold#,underscore
## pane-active-border
set -g pane-active-border-fg black
set -g pane-active-border-bg cyan

あとscreenと違ってキーバインドシェルスクリプトやコマンドを指定できるので、現在いるpaneの直前100個までの履歴を保存するショットカットを設定してみた。

bind S run "tmux capture-pane -S -100; tmux show-buffer >> ~/$(date +%Y%m%d%H%M).log"