pasteboard.el

作りました。

https://github.com/10sr/emacs-lisp/blob/master/pasteboard.el

pbcopy および pbpaste と連携します。

(and (require 'pasteboard.el nil t)
     (turn-on-pasteboard))

tmux の内側で使う場合、 reattach-to-user-namespace が必要です。
通常、これを導入した上で、 tmux の default-command を設定する必要がありますが、次のようにすることで、 tmux 側で default-command を設定しなくとも pasteboard が使えるようになります。

(and (getenv "TMUX")
     (pasteboard-enable-rtun))

ついでに

shell でも default-command 使うよりこんなかんじで alias を設定するほうがなんかいろいろ便利だと思います。

if test -n "$TMUX" && type reattach-to-user-namespace >/dev/null 2>&1
then
    alias pbpaste="reattach-to-user-namespace pbpaste"
    alias pbcopy="reattach-to-user-namespace pbcopy"
fi