tmuxでXクリップボードにテキストをコピーするために、私が現在していることは:
- で選択モードに進む prefix[
- で選択を開始space(
mode-keys vi
btw を使用) - テキストを選択して押します enter
- を使用してtmuxバッファをXクリップボードにコピーします prefixctrl+c
(マッピングがあります bind C-c run "tmux show-buffer | xclip -selection clipboard -i"
選択モードのマッピングを作成することで、これらの手順の一部を排除しようとしています。私が試してみました:
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
私とエラーが発生します:
.. usage: bind-key [-cnr] [-t key-table] key command [arguments]
(エラーをコピーできませんでした)
どうすれば修正できますか?
編集:私は選択して、通常の選択と同じようにマウスを使用してtmuxバッファ(最初の3つのステップ)にコピーし(強調表示は持続しませんが、テキストを選択します)、次のバインドを使用してxクリップボードにコピーできることに気付きました:
bind-key -n C-c run "tmux show-buffer | xclip -selection clipboard -i"
(このメソッドを使用してこのテキストをコピーしましたが、簡単でした;)
-n
「接頭辞なし」を示すことに注意してください。したがって、エスケープする必要はありません。消失するハイライトに混乱しない場合、これは通常の(一般的なユーザーインターフェイス)コピーに似ています。
これは私がこれまでに思いついた最高のものです。
EDIT2:ctrl+cプロセス割り込みの事と重複することが判明したのでctrl+alt+c、今のところに変更しました。(気に入らなかった)
EDIT3: tmux 1.8程度で、コピーモードでキーバインドを追加するサポートが追加されたため、次のようなものを使用して最初の最初の意図が可能になりました。
bind-key -tvi-copy y copy-pipe "xclip -selection clipboard -i"
bind-key -tvi-copy enter copy-pipe "xclip -selection clipboard -i"
これらの2つのバインディングにより、使用時にテキストをクリップボードにコピーしenterたりy、コピーを終了したりできます。
マウスでコピーし、後でtmuxバッファーの内容をクリップボードに入れることにした場合に備えて、この行を保持します。
bind-key y run "tmux show-buffer | xclip -selection clipboard -i"
^c
、コピーするよりも頻繁に使用するので、私は割り込みキーとして保持すると思います。また、この問題に対する現在の解決策を反映するために、回答を更新しました。
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
ライブは与える:Unknown command: run
bind-key C-c run "tmux show-buffer | xclip -selection clipboard -i"
は正常に機能します。
stty intr=^Z
。このコマンドには注意してください。通常の文字を割り込み文字に設定することは可能です(設定する場合は、設定を修正するまでctrl-vを使用して入力してください)。また、どのキーが使用されているかについて混乱しないでください(例:ctrl-zは通常サスペンドキーです)。