tmuxの個人的なオススメメモ

## 設定内容 (v2.4向け)

```
# optional
set-option -g status-right '[%Y-%m-%d(%a) %H:%M]'

# keybind
unbind r
bind r source-file ~/.tmux.conf \; display-message "reload config!!"
set -g history-limit 10000

unbind %
bind | split-window -h
unbind '"'
bind - split-window -v

setw -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'"

setw -g mode-keys vi

unbind v
unbind y
unbind enter
set -g default-command "reattach-to-user-namespace -l $SHELL"
unbind -T copy-mode-vi Enter
bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
bind -T copy-mode-vi enter send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"

bind-key p paste-buffer
```

## ちょっとした解説とやりたいこと

個人的なオススメなので、賛否両論あるかと思いますが、
初心者ゆえ良い設定があれば知りたい所存です。


右クリックできないのが辛いです。
状況はtmuxでコピーした内容がブラウザに貼り付けられないといった感じで、良い方法はないかなぁという気持ちです。
調べてみたもののみんなそんなに気にしてないのが不思議・・・。


`brew install reattach-to-user-namespace`

## 2015.10.23 追記

2.0まで有効だったmode-mouseがmouseに統合されました。


```
# 2.0まで
setw -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on
```

```
# 2.1から
setw -g mouse on
bind -n WheelUpPane copy-mode
```


ホイールが効かないなぁと思って調べたら、WheelUpPaneというものが追加されているので、copy-modeにしてあげれば良いとのこと。



右クリックが相変わらずどうしたらいいかわからない……。


## 2015.11.10 追記

El Capitanにバージョンアップした際に、下記の機能が加わったようです。

![thisischeckoff.png](https://qiita-image-store.s3.amazonaws.com/0/13837/bfdc5472-3514-dfa8-d79e-4e6ebf60f34c.png "thisischeckoff.png")

チェックを外すとmode-mouseが使えました。
ナンテコッタ。

## 2015.11.10 追記
代替screenをオフにしていたけど、諸々挙動がおかしいのでオンにしました。

元の状態にするにはどうすればいいんだ！ってことで調べたところ、下記の通りにすれば大丈夫でした。

```
$ tmux -V
tmux 2.2

$ vim ~/.tmux.conf
unbind r
bind r source-file ~/.tmux.conf \; display-message "reload config!!"
set -g history-limit 10000

unbind %
bind | split-window -h
unbind '"'
bind - split-window -v

setw -g mouse on
bind -n WheelUpPane copy-mode

#setw -g mode-mouse on
#set -g mouse-resize-pane on
#set -g mouse-select-pane on
#set -g mouse-select-window on
set-option -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'"

setw -g mode-keys vi
set-option -g default-command "reattach-to-user-namespace -l zsh"

unbind ]
bind-key p paste-buffer
bind-key -t vi-copy v begin-selection

unbind Enter
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
unbind y
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
```

## 2016.6.12 追記
zshを標準利用する場合、`set-option -g default-command "reattach-to-user-namespace -l zsh"`はない方が良いとのことで、削除しました。

```
$ tmux -V
tmux 2.2

$ vim ~/.tmux.conf
unbind r
bind r source-file ~/.tmux.conf \; display-message "reload config!!"
set -g history-limit 10000

unbind %
bind | split-window -h
unbind '"'
bind - split-window -v

setw -g mouse on
bind -n WheelUpPane copy-mode

#setw -g mode-mouse on
#set -g mouse-resize-pane on
#set -g mouse-select-pane on
#set -g mouse-select-window on
set-option -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'"

setw -g mode-keys vi

unbind ]
bind-key p paste-buffer
bind-key -t vi-copy v begin-selection

unbind Enter
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
unbind y
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
```

## 2017.02.15 追記
そうか…この記事書いて1年近く経つのか、と思ってた、いろいろ眺めてたらzplugの作者さんがこんな記事を書いていましたので、ご紹介まで。

http://qiita.com/b4b4r07/items/01359e8a3066d1c37edc

一部設定を反映させていただきました。
内容は以下の通りです。

```
$ tmux -V
tmux 2.3

$ vim ~/.tmux.config
# optional
set-option -g status-right '[%Y-%m-%d(%a) %H:%M]'

# keybind
unbind r
bind r source-file ~/.tmux.conf \; display-message "reload config!!"
set -g history-limit 10000

unbind %
bind | split-window -h
unbind '"'
bind - split-window -v

setw -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'"

setw -g mode-keys vi

unbind ]
bind-key p paste-buffer
bind-key -t vi-copy v begin-selection

unbind Enter
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
unbind y
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
```

## 2017.04.28 追記(v2.3版)

```
unbind r
bind r source-file ~/.tmux.conf \; display-message "reload config!!"
set -g history-limit 10000

unbind %
bind | split-window -h
unbind '"'
bind - split-window -v

setw -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on

setw -g mode-keys vi
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"

unbind ]
bind-key p paste-buffer
```