リモートホスト上のtmuxでコピーしたテキストを手元のMacのクリップボードに入れる方法
リモートホストでtmuxを使っているときに、tmuxでコピーしたテキストを手元のMac上のクリップボードに入れる方法です。
https://github.com/wincent/clipper を使います。
インストール
手元のMacで実行
brew install clipper
インストールするとclipperが起動して、8377ポートでListen状態になります。
リモートホストにアクセスする.ssh/config
Host host.example.org
RemoteForward 8377 localhost:8377
リモートホストでListenしているポートを手元のマシンに転送します。
リモートホストでのtmux.conf
bind-key -t vi-copy Enter copy-pipe "nc localhost 8377"
を追記。(tmuxバージョン1.8以上を使う)
tmuxのバージョン確認方法
tmux -V
使い方
tmuxでコピーモードにして範囲選択+Enterで、Macのクリップボードへ選択したテキストがコピーされます。
$HOME/.tmux.confの例
下記の設定例では、プレフィックスキーをCtrl+tに、viと同じようにカーソル移動、選択ができるようにしています(最低限の設定なのでその他の設定はご自由に)。
unbind C-b
set -g prefix ^T
bind a send-prefix
bind ^y copy-mode
set-window-option -g mode-keys vi
bind-key -t vi-copy V select-line
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy C-v begin-selection
bind-key -t vi-copy Enter copy-pipe "nc localhost 8377"