tmuxでもpbcopy、pbpasteを使えるように設定する

Posted by Tatsuyano on Wed, May 1, 2013
In
Tags mac

最近しりましたpbcopyとpbpasteをtmuxで使う方法です。

pbcopyとpbpasteの使い方

ls -la | pbcopy    # 標準出力 -> クリップボード
pbpaste > hoge.txt # クリップボード -> 標準出力

pbcopyとpbpasteをtmuxで使うための設定

tmuxで、pbcopyとpbpasteが正しく動かない。

brew install reattach-to-user-namespace

.tmux.conf

set -g default-command 'reattach-to-user-namespace -l zsh'

tmuxにpbcopyのキーバインドを追加

Mac の tmux でクリップボードを使う。のサイトを参考にpbcopyのキーバインドを追加しました。

.tmux.conf

# buffer copy
bind C-q run-shell 'reattach-to-user-namespace tmux-pbcopy'

emacs $HOME/Dropbox/dotfile/mybin/tmux-pbcopy

#! /bin/sh

tmux save-buffer /tmp/.tmux_to_pbcopy
cat /tmp/.tmux_to_pbcopy | pbcopy

# 以下はメッセージを表示するだけ。無くてもOK。
HEAD=`head -1 /tmp/.tmux_to_pbcopy`
TAIL=`tail -1 /tmp/.tmux_to_pbcopy`
tmux display-message "Copy:  $HEAD  -  $TAIL"

使い方

  • C-z C-[ でコピーモードに入る。
  • C-SPCで選択開始
  • C-wでバッファにコピー
  • C-z C-qでバッファの内容をクリップボードにコピー

参考サイト

以下のサイトを参考にさせていただきました。ありがとうございます!