Vim führt den Befehl im Hintergrund aus, zeigt die Ausgabe jedoch live in vsplit an

Vim führt den Befehl im Hintergrund aus, zeigt die Ausgabe jedoch live in vsplit an

Wie kann ich einen Terminalbefehl (z. B. „Build“) in Vim ausführen, während ich an einer Datei arbeite und gleichzeitig die Ausgabe live in einem Vsplit anzeigen kann?

Antwort1

Sie benötigenjob_start-Funktiondafür. Es wird Ihren Befehl in einer separaten Prozessinstanz aufrufen. Sie können diesem Aufruf Puffernamen übergeben und vim wird STDOUT- und STDERR-Pipes des Prozesses des Jobs mit diesen Puffern verknüpfen. Eine Vielzahl weiterer Aktionen sind ebenfalls möglich, wie das Registrieren von Rückrufen, wenn Daten in diese Puffer gepostet werden, die Art des ausgeführten Jobs usw.

Example:
        let logjob = job_start("tail -f /tmp/log",
                             \ {'out_io': 'buffer', 'out_name': 'dummy'})
        vsplit | buffer dummy

verwandte Informationen