tmuxが快適、かつ .tmux.conf の設定

# いまさらtmuxを使ってみた

## なんて読むの？
tmux(ティーマックス/ティームックス)って読むらしい。tmux(Terminal MUltipleXer)の頭文字から構成られている仮想端末ソフト。

## tmux なんなの？
> [デザイナーのための tmux 超入門](http://sssslide.com/speakerdeck.com/chocoby/tmux)

## 基本的なコマンド
[tmux基本のコマンド](http://room6933.com/mymemo/tmux/tmux-basic.html#id4)を参照。コマンドは沢山あるけど順に覚えれば平気。個人的には、ウインドウ作成、ウインドウ一覧、だけ覚えればなんとかなる。

## インストール
CentOS の yum で tumx をインストールするとバージョン1.6と少し古いですが、ソースからコンパイルする手間（libevent 2.0系も入れないとだめ）を考えるとこのバージョンでよいかな？（最新のtmuxをインストールしたい場合は、[ここ](http://dev.cutecolors.jp.net/install-tmux/)を参照）

```
$ sudo yum install tmux
```

## .tmux.conf 
達人らの .tmux.conf を参考にするとキーバインドを変更（perfix, 他のコマンド）しているがドノーマールの環境で使えなくなるのであえてキーバインドは変更しない。

```
# 設定ファイルをリロードする
bind r source-file ~/.tmux.conf \; display "Reloaded!"

# utf8を有効にする
set-window-option -g utf8 on

# peneの開始番号
set-option -g base-index 1

# ウィンドウ履歴の最大行数
set-option -g history-limit 5000

# コピーモードのキーバインドをvi風にする
set-window-option -g mode-keys vi
bind-key -t vi-copy v begin-selection

# ウィンドウのインデックスを1から始める
set -g base-index 1

# ペインの移動をvi風にする
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# ペインのリサイズをvi風にする
bind -r C-h resize-pane -L 10
bind -r C-l resize-pane -R 10
bind -r C-j resize-pane -D 10
bind -r C-k resize-pane -U 10

#
# キーバインド（コピーモード）
#
bind Space copy-mode
bind p paste-buffer

# vでマーク開始
bind -t vi-copy v begin-selection

# Vで行の先頭からマーク開始
bind -t vi-copy V select-line

# C-vで矩形選択の切り替え
bind -t vi-copy C-v rectangle-toggle

# yでヤンク
bind -t vi-copy y copy-selection

# Yで1行ヤンク
bind -t vi-copy Y copy-line

#
# マウス設定
#

# 画面ドラッグ時にコピーモードにする
set-option -g mode-mouse on

# マウスでペインを選択できるようにする
set-option -g mouse-select-pane on

# マウスでウィンドウを切り替えられるようにする
set-option -g mouse-select-window on

# マウスでリサイズできるようにする
set-option -g mouse-resize-pane on

#
# 外観
#
set-option -g default-terminal screen-256color

# ステータスバーの色を設定する
set -g status-fg white
set -g status-bg black

# ウィンドウリストの色を設定する
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim
# アクティブなウィンドウを目立たせる
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright

# ペインボーダーの色を設定する
set -g pane-border-fg green
set -g pane-border-bg black
# アクティブなペインを目立たせる
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow

# コマンドラインの色を設定する
set -g message-fg white
set -g message-bg black
set -g message-attr bright

#
# その他
#

# 下記の設定をしておいたほうがEscの効きがいいらしい
set -s escape-time 0
```

## ターミナルソフトの設定
お気に入りで使っている rlogin では、ローカルのクリップボードへの反映（OSC52）を使うことができるのでを有効にする。
[表示]-[オプション設定]-[クリップボード]にある“OSC 52 によりクリップボードの書き込みを許可する”のチェックを入れます。
![tmux01.png](https://qiita-image-store.s3.amazonaws.com/0/44540/764bec4a-63bb-b0f5-e393-9c208ff5338f.png)

## rlogin の不具合？
どうしても不明な点が２つ
・ウインドウを上下ペインへ分割した場合に、ペイン分割のラインが２重になる。
・コピーモードで88行？しかコピーできない。

## 参考サイト

> [達人に学ぶ.tmux.confの基本設定](http://qiita.com/succi0303/items/cb396704493476373edf)
> [tmuxのインストールと設定](http://qiita.com/tt_yamaguchi/items/682940d558e4a5022898)
> [tmuxで快適なターミナル生活を送ろう](http://qiita.com/zwirky/items/adbf22abad7d7822456b)
> [リモートの tmux でコピーした内容のローカルのクリップボードへの反映](http://doda.b.sourceforge.jp/2011/12/15/tmux-set-clipboard/)
> [http://d.hatena.ne.jp/yk5656/20140306/1394585110](http://d.hatena.ne.jp/yk5656/20140306/1394585110)