Как получить возвращаемое (статусное) значение внешней команды в Vim

Я хочу получить значение exit (возвращается $? в оболочке, обычно 0 или 1 для успеха или неудачи) внешней команды оболочки в Vim. Заметьте, что я тоже хочу получить свой стандартный вывод. Поэтому я могу использовать вывод и значение выхода в условном выражении Vim. Возможно ли это?

Ответ 1

Существует переменная v:shell_error, которая имеет ровно то же значение, что и $? в сценариях оболочки. Работает, по крайней мере, после :!, :read !, вызывая system().

Ответ 2

как это

var = $(echo $?)

даст вам значение $? в переменную var. Получается стандартный вывод курса. потому что, только после того, как выход обработан, возвращается возвращаемое значение. ($? приходит либо как 0, либо 1 только после выполнения команды).