最近、Ubuntu 18を再インストールし、以前のUbuntu 16設定からホームディレクトリをコピーしました。ただし、これにより、xclip(0.12インストール)を使用した以前のコピー/貼り付け機能が中断されるようです。
私の古いtmux.confメソッド:
setw -g mode-keys vi
bind -t vi-copy y copy-pipe "xclip -sel clip -i"
ここで他の同様の質問を見てみましたが、残念ながらそれらのどれも私の特定の状況には合いません。
答え1
tmux 2.6以降、bind-key
スキーマテーブルオプション(-t
)は廃止されました。代わりに、-T
各モードのキータブ()があります。
また、このコマンドはコピーモードバインディングでは直接使用できません。と一緒に送る必要がありますsend-keys -X
。
~からtmux問題754に関するご意見:
-t
使用。 。 。交換-T
vi-<name>
使用。 。 。交換<name>-mode-vi
- コマンドプレフィックスは次のとおりです。
send-keys -X
また、バージョン2.4以降、新しいコマンドはアクティブのままコピーモードをcopy-pipe-and-cancel
終了しますcopy-pipe
。
したがって、あなたの行はtmux.conf
次のようになります。
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -sel clip -i"
画面にゴミが印刷される
ターミナルエミュレータによっては、このバインディングを使用した後に一部の文字が画面にダンプされることがあります。時によって異なります。set-clipboard
特徴:
ターミナルクリップボードの内容を設定するには、xterm(1)エスケープシーケンスを使用してみてください(利用可能な場合)。多発性硬化症terminfo(5) 説明の項目です (TERMINFO 拡張セクションを参照)。
一部の端末(LXTerminalなど)では、TERMをxterm
(この拡張子をサポート)に設定していますが、実際にはシーケンスを認識しないようです。この機能を「有用」にしようとするcopy-pipe
と、copy-pipe-and-cancel
端末には結果文字のみが表示されます。あなたが見るのは、選択されたテキストのBase64エンコーディングが続くエスケープシーケンスです。
端末がこのエスケープシーケンスを誤って処理している場合は、次の方法で無効にできます。
set-option -g set-clipboard off