もた日記

くだらないことを真面目にやる

tmuxメモ : Tmux sensibleプラグインで基本オプションをセット

github.com

Tmux sensibleプラグインをインストールすると基本的なオプションがセットされる。Vimプラグインvim-sensibleにインスパイアされて作ったらしい。
これらのオプションは自分で設定したオプションを上書きしないため安心して使える。

tpmでインストール


tpm(Tmux Plugin Manager)を使用している場合は、.tmux.confに下記行を追加してprefix + Iキーでインストール。

set -g @plugin 'tmux-plugins/tmux-sensible'


オプション


下記オプションがセットされるようになるので.tmux.confに記述する必要はなくなる。

# utf8対応
set -g utf8 on
set -g status-utf8 on

# VimでEscキーを押したときの反応をよくする
set -s escape-time 0

# スクロールバッファサイズを増やす
set -g history-limit 50000

# tmuxメッセージの表示時間
set -g display-time 4000

# ステータスラインの更新間隔
set -g status-interval 5

# Mac OS X向けの設定
set -g default-command "reattach-to-user-namespace -l $SHELL"

# 256色表示
set -g default-terminal "screen-256color"

# ステータスラインのキーバインドをemacs風にする
set -g status-keys emacs

# フォーカスイベントを有効化
set -g focus-events on

# 異なるサイズの端末からアクセスしたときにリサイズ 
setw -g aggressive-resize on

なお、現在のオプションの設定は以下のようなコマンドで確認できる。

$ tmux show-options -g
$ tmux show-options -s
$ tmux show-window-options -g

各設定オプションの違いはこのあたりに書いてある。

キーバインド


キーバインドも設定されるが、既にそのキーバインドを自分で設定している場合などは有効にならない。

# C-p, C-nでウィンドウ移動。prefix + n/pよりも簡単
bind C-p previous-window
bind C-n next-window

# prefix + Rで.tmux.confの再読み込み
bind R source-file '~/.tmux.conf'

# 直前のウィンドウに移動
# プレフィックスキーを読み込んで設定するため、プレフィックスキーがC-bの場合はC-b bで移動
bind C-a send-prefix
bind a last-window

なお、現在のキーバインドは下記コマンドで確認できる。

$ tmux list-keys