tmuxを使用して単一のコマンド/キーにコピーして貼り付ける

tmuxを使用して単一のコマンド/キーにコピーして貼り付ける

私はターミナルバッファからファイル名を選択するtmux-copycatプラグインが大好きですが、このプラグインをより良くする1つの方法は1つのコマンド(好ましくはキーにバインドされています)を使用してすべてをコピーして貼り付けることができますある機能です。

これを行うことができる既存のコマンドがわからないので、いくつかのトリックが必要なようです。ソリューションをどこから始めるべきかという提案がありますか?

ベストアンサー1

tmux必要な操作を実行するためのいくつかのコマンドがあります。これを新しいショートカット(おそらくプレフィックスキーコマンド)にバインドする必要があります。

現在コピーモードになっていて、いくつかのテキストが選択されているとしましょう。コマンドライン(通常 - 接頭辞付き:)に移動して、次のように入力します。

send-keys -X copy-selection-and-cancel ; paste-buffer 

これは正確に言うとおりに行われます。選択内容を貼り付けバッファに配置し、コピーモードをキャンセルし、貼り付けバッファの内容をシェルコマンドライン(またはコピーモードに入ったときの場所)に貼り付けます。

これで、tmux.confファイルでこれらのコマンドを使用して、選択したキーにこれらのコマンドをバインドできます。

bind-key X send-keys -X copy-selection-and-cancel \; paste-buffer 

直接実行することと唯一の違いは、エスケープが必要であることです;。次に、コピーモードでいくつかのテキストを選択したときに対応するキーバインディングをクリックすると、オールインワンコピー - 貼り付けショートカットが表示されます。

少し調整する必要があります。たとえば、-t target-pageオプションを使用してpaste-buffer現在のウィンドウ以外の場所に貼り付けることができます。tmuxアイデアを得るには、マニュアルページで両方のコマンドのドキュメントを確認してください。

おすすめ記事