Vim запускает команду в фоновом режиме, но показывает вывод в реальном времени в vsplit

Vim запускает команду в фоновом режиме, но показывает вывод в реальном времени в vsplit

Как запустить команду терминала (например, build) в vim во время работы с файлом, одновременно отображая вывод в реальном времени в vsplit?

решение1

Вам нужно использоватьфункция job_startдля этого. Он вызовет вашу команду в отдельном экземпляре процесса. Вы можете передать имена буферов этому вызову, и vim свяжет каналы STDOUT и STDERR процесса задания с этими буферами. Также возможны множество дополнительных действий, таких как регистрация обратных вызовов при отправке данных в эти буферы, тип выполняемого задания и т. д.

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

Связанный контент