LoginSignup
45

More than 5 years have passed since last update.

tmux上のコピペをうまく設定する方法

Last updated at Posted at 2013-06-14

.tmux.conf

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'
zshrc.Darwin
if [ -n "$TMUX" ]; then
  alias pbcopy="reattach-to-user-namespace pbcopy"
fi

とやった方がいいと思います

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
45