.tmux.conf
に
set-window-option -g mode-mouse on
と足すとマウスのスクロールが効くようになります
しかしこの設定をするとマウスで単純にクリップボードにコピペすることができなくなります
それに tmux 上でのコピーをクリップボードにできたらとても便利そうです
ということでこの辺を Mac と Ubuntu でできるだけ共通の設定でできないのか考えてみます
この記事の設定が行われていることを前提とします
tmux 上でコピーを行ったものを標準出力へ出力するコマンドは
tmux save-buffer -
なのでこれを利用します
Ubuntu の場合
普通に
tmux save-buffer - | pbcopy
とすればできますが,少し長いので alias を用意します
alias tmux-copy='tmux save-buffer - | pbcopy'
とかしましょう
Mac の場合
Ubuntu と同じようにすればできそうですが,なぜか pbcopy がうまく動きません
それを回避する方法を紹介します
まず
brew install reattach-to-user-namespace
とします
それから
tmux save-buffer - | reattach-to-user-namespace pbcopy
とすればコピーできます
これも長いので alias を用意しましょう
alias tmux-copy='tmux save-buffer - | reattach-to-user-namespace pbcopy'
実際は .zshrc 内で if 文を書くなりして分けるべきです
私は .zshrc
に
[ -f $ZDOTDIR/.zshrc.`uname` ] && source $ZDOTDIR/.zshrc.`uname`
と書いてそれぞれ .zshrc.Linux
, .zshrc.Darwin
に上記の設定を書いています
便利!!
追記 (2013-07-08)
tmux で作業している時だけ zsh の設定を変えたいあなたに
に書いてあるようにすれば共通の設定で
alias tmux-copy='tmux save-buffer - | pbcopy'
if [ -n "$TMUX" ]; then
alias pbcopy="reattach-to-user-namespace pbcopy"
fi
とやった方がいいと思います