キーバインディングを押したときに2つのコマンドを実行する方法

キーバインディングを押したときに2つのコマンドを実行する方法

だから私はバッファに保存されたテキストをソケットを介して別のコンピュータに渡したいと思います。これを行うためにソケットを実行しました。エントリから次のコマンドを起動します。copy-mode-vi

bind -T copy-mode-vi Enter send-keys -X copy-selection-and-cancel \; run-shell "tmux loadb - | nc localhost 19988"

私はそれが必要であることを見ましたが、\;この構文は私のtmuxに欠陥を引き起こします。

答え1

-X一度に1つのコマンドのみを許可します。しかし、幸いにも複数のsend-keys -Xコマンドをバインドできます(区切り\;)。

bind -T copy-mode-vi Enter send-keys -X copy-selection-and-cancel \; send-keys -X run-shell "tmux loadb - | nc localhost 19988"

しかし、2番目の問題があります。コピーモードは特定のコマンドのみをサポートし、run-shellそのコマンドには適用されません。これら3つのコマンドだけがcopy-pipe外部コマンドを呼び出すことができるので(オプションを受け入れて処理する必要がある)、残念ながらここではアプローチを完全に再設計する必要があります。

関連情報