セットアップ:MacOSでiTerm2を使用してリモートサーバーに接続します。リモートサーバーはtmuxを実行します。この場合、ファイルを開いてvimセッションで編集します。
問題:リモートtmuxセッションとローカルiTermクライアント間でコピー/貼り付けができません。 iTerm2のalt/option +マウス選択を使用してテキストを選択できますが、これは複数のvimペイン/ tmuxペインにコピーされます-悪いです。
Tmuxペインで選択をリモートペーストボードとローカル(MacOSペーストボード)の間で同期させるためのエレガントなソリューションはありますか? reattach-to-user-namespace を見てきましたが、私が望むことを実行しないことは間違いありません。
そのため、サーバーにSSHでログインするときに、リバーストンネリングを使用して、OSXマシンに戻ってコマンドpbcopy
を送信することができます。
ssh -R 1234:localhost:22 remoteServer
1234
をリモートサーバーの開いているポートに置き換えます。その後、リモートサーバーで次のコマンドを実行できます。
tmux save-buffer - | ssh -p 1234 localhost pbcopy
これでOSXに接続し直し、tmuxコピーバッファーの内容をOSXに送信する必要があります。 sshキーを使用して、OSXマシンにパスワードを入力しないようにすることができます。
それがうまくいく場合は、tmuxキーバインディングを作成できます。
bind C-c run "tmux save-buffer - | ssh -p 1234 localhost pbcopy"
これが機能するためには、OSXでリモート共有をオンにする必要があります。
セカンダリオプション:
OSXを使用しているため、iTerm2も使用している場合は、インストールを検討してください http://code.google.com/p/iterm2/downloads/detail?name=tmux-for-iTerm2-20120203サーバー上の.tar.gz&can = 2&q = 。
これは基本的に、「-C」フラグをサポートするカスタムtmuxです。このフラグにより、ウィンドウ、ペイン、およびそれらのすべての分割がiTerm2に渡されます。
この問題はより良い方法で解決されたと思います。
より簡単な方法
bind-key C-c run ‘tmux show-buffer | xsel -pbi'
必要に応じて、vimでも同様のバインディングを実行できます。
教皇の答えのおかげで、私はtmux -C
ヒントを試しました。
-C
フラグをサポートしているため、何もインストールする必要はありません。-CC
は常に機能するとは限らないため、-C
を使用してください。したがって、tmux -CC
(またはtmux -CC attach
)を使用すると、tmuxはさらに優れています。