理系学生日記

おまえはいつまで学生気分なのか

tmux 1.8 時代のペーストボード連携

tmux 1.8 から copy-pipe という tmux のコマンドが追加されました。このコマンド、tmux 上で選択したテキストを、指定した外部コマンドに送ることができます。
このため、直前に書いたtmux 上で pbcopy/pbpaste が動かない問題 - 理系学生日記の内容を前提とすれば、ペーストボードとの連携は大変シンプルに記述できます。copypipe に、reattach-to-user-namespace でラップした pbcopy を指定するだけですね。

bind-key -t emacs-copy C-w   copy-pipe "reattach-to-user-namespace pbcopy"

ぼくは emacs バインドを使用しているので、ペーストに関係がある部分としては、以下のような内容を設定しています。

set-window-option -g mode-keys emacs

set-option -g default-command "reattach-to-user-namespace -l zsh"

unbind -t emacs-copy Enter
unbind -t emacs-copy C-w
unbind -t emacs-copy M-w
bind-key -t emacs-copy C-w   copy-pipe "reattach-to-user-namespace pbcopy"
bind-key -t emacs-copy M-w   copy-pipe "reattach-to-user-namespace pbcopy"
bind-key -t emacs-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"

bind-key C-y paste-buffer