Führen Sie vims :redraw!-Befehl aus, nachdem Sie den tmux-Befehl „send-keys“ eingegeben haben.

Führen Sie vims :redraw!-Befehl aus, nachdem Sie den tmux-Befehl „send-keys“ eingegeben haben.

Ich führe einen Befehl aus, um einen Tastendruck an einen anderen Vim-Puffer zu senden, der in einem Tmux-Terminal geöffnet ist:

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

Es funktioniert, aber mein ursprüngliches Terminal wird leer und ich muss einen :redraw!Befehl eingeben.

Ich habe es versucht :silent !tmux send-keys -t 1.left 'F7' | :redraw!, aber es sieht so aus, als würde dies auch an den anderen Vim-Puffer gesendet und nicht an den, von dem der Befehl stammt.

Wie kann ich das erreichen?

Antwort1

Das Umschließen des ersten Befehls mit executehat geholfen:

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

verwandte Informationen