xselを準備する
-
リモートのtmuxのコピーモードとクリップボードを共有する
- リモート:
yum install xselでxselを入れる
- リモート:
-
LinuxからMacへX11 Forwarding - 日々の報告書
- リモート:
X11Forwardingをyesに変更してsshdを再起動 - ローカル:
xhost + ###.###.###.###を実行 (###.###.###.### はリモートのIPアドレス)
- リモート:
-
MacでLinuxへssh -Xする
- ローカルMac: XQuatzを入れた後、Macを再起動
xselの動作確認を行う
- リモートで環境変数
DISPLAYが空でない事を確認 - ローカルでなんかをコピーし、リモートで
xselを実行 - リモートで
echo $HOME | xsel -biを実行、ローカルでペーストを実行
既に tmux を起動済の場合 DISPLAY が空の事があるので、その時は手動で設定。
export DISPLAY=localhost:##.#
tmuxを設定する
-
リモートのtmuxのコピーモードとクリップボードを共有する
-
Xでクリップボードを扱うコマンドはxsel - Mac でクリップボードを扱うコマンドは
pbcopyとpbpate
-
以下の設定を $HOME/.tmux.conf に追加。
# `tmux` のコピペとクリップボードの連携
# Linux with xsel
if "which xsel" "bind-key -t vi-copy y copy-pipe 'xsel -bi'"
if "which xsel" "bind-key -t vi-copy Enter copy-pipe 'xsel -bi'"
if "which xsel" "bind-key ] run 'tmux set-buffer -- \"$(xsel -bo)\"; tmux paste-buffer'"
# Mac
if "which pbcopy" "bind-key -t vi-copy y copy-pipe 'pbcopy'"
if "which pbcopy" "bind-key -t vi-copy Enter copy-pipe 'pbcopy'"
if "which pbpaste" "bind-key ] run 'tmux set-buffer -- \"$(pbpaste)\"; tmux paste-buffer'"
最後に source-file $HOME/.tmux.conf で設定ファイルを再読込。
リモートの Neovim でも共有する
この記事を読んで設定ファイルに以下を追加した。
set clipboard+=unnamedplus