2017-06-13 6 views
2

!start scheint die einzige Möglichkeit zu vermeiden Taskleiste blinkt unter Windows? Ich weiß, wir können System() verwenden, um den Rückgabewert abzurufen, aber ich möchte das Blinken vermeiden.gVIM! Start Wie erhält man den Rückgabewert?

Also Gibt es eine Methode einschließlich bestimmter Problemumgehungen, um den Rückgabewert von !start zu erhalten?

psudocode let g:return_value = !start /b program.exe

Antwort

1

:!start startet externe Programme in den Hintergrund. Im besten Fall könnte es Ihnen sagen, dass das Programm, das Sie starten möchten, nicht starten kann. Wie üblich bei externer Programmausführung wird dies in v:shell_error gespeichert. Es scheint jedoch, dass das Flag /b verhindert, dass es gefüllt wird. Das ist seltsam.

In jedem Fall können Sie den Exit-Code Ihres Programms auf diese Weise nicht erhalten. In einem solchen Szenario macht das keinen Sinn.

Wenn Sie wirklich das Programm im Hintergrund gestartet werden soll, werden Sie weitere Informationen mit job_start() & co erhalten: schließlich werden Sie wissen, ob es gestartet werden konnte, werden Sie erhalten, was es druckt, und Sie werden Erhalte seinen Exit-Code.

Sonst habe ich leider nur system(), die auf das Beenden des externen Programms wartet.

+0

Dies liefert keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlasse einen Kommentar unter seinem Beitrag. - [Aus Bewertung] (/ review/low-quality-posts/16983892) – Difster

Verwandte Themen