最新バージョンのtmux(gitリポジトリから)とxclip(0.12)を実行しています。Emacsのようなキーボードバインドを使用して、テキストの周りを移動したり、選択範囲をクリップボードにcopy-modeコピーしM-wたり、C-yコピーバッファからクリップボードへ/に貼り付けます()。
これまでのところ私はでテキストを貼り付けることができたC-y、とに動き回るcopy-modeEmacsライクなキーボードバインディングで、しかし私はまだテキストをコピーすることができません(例でtmuxのバッファからcopy-mode)
バッファー全体をクリップボードにコピーするためのスレッド(およびその逆)を見つけましたが、私には機能していないようです。
また、tmux-usersメーリングリストで、最近のバージョンのtmux(gitリポジトリのみ)がというコマンドを提供していると言われましたcopy-pipe。マニュアルページには、このコマンドについて次のように記載されています。
の1つのコマンドは、引数copy-pipeを受け入れます。この引数は、選択範囲をコピーしてコマンドにパイプします。たとえば、次のコマンドは 'C-q'をバインドして、選択内容を/ tmpおよびペーストバッファにコピーします。
bind-key -temacs-copy C-q copy-pipe "cat >/tmp/out"
copy-pipe選択を別のコマンドにパイプするために部分的に使用することを意図しているようです。また、この説明とコマンドにはいくつかのタイプミスがあるようです(何temacs-copyですか?)
いずれにしても、私がやりたいことは:
コピー中:
- コピーモードに入る
- (つまり、私はEmacsのナビゲーションコマンドを使用してコピーしたいテキストに移動し
C-f、C-b、M-f、M-b、C-a、C-eカーソルを移動するなど)。これらのいずれにもプレフィックスはありません。 - でクリップボードに選択したテキストをコピーします
M-w(接頭辞なしのいずれか)
貼り付け:
- 私は入力できるようにしたいと思います
C-y(せずに入力することcopy-mode(端末内のテキストを貼り付けるために)接頭辞なしのいずれか)
私は運のないコピーのために以下を試しました:
bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard"
ただし、貼り付けはうまく機能します。
bind-key -n C-y run "xclip -o | tmux load-buffer - ; tmux paste-buffer"
奇妙なことは、コマンドラインでクリップボードにコピーできるxclip -i -selection clipboardため、上記のコピーコマンドの「」部分が適切に機能することを知っていることです。たとえば:
echo "Hello world. How are you?" | xclip -i -selection clipboard
これで、選択をコピーモードからクリップボードにコピーするにはどうすればよいですか?