tmux send-keysコマンドを発行した後、vimの:redraw!コマンドを実行します。

tmux send-keysコマンドを発行した後、vimの:redraw!コマンドを実行します。

tmux ターミナルで開いている別の vim バッファにキーストロークを送信するコマンドを実行しています:

:silent !tmux send-keys -t 1.left 'F7'

動作しますが、発信元の端末が空白になり、:redraw!コマンドを発行する必要があります。

試してみました:silent !tmux send-keys -t 1.left 'F7' | :redraw!が、これはコマンドの発信元ではなく、他の vim バッファにも送信されているようです。

どうすればこれを実現できるでしょうか?

答え1

最初のコマンドをexecute次のようにラップするとうまくいきました:

execute "silent !tmux send-keys -t 1.left 'F7'" | :redraw!

関連情報