Vim ejecuta el comando en segundo plano, pero muestra la salida en vivo en vsplit

Vim ejecuta el comando en segundo plano, pero muestra la salida en vivo en vsplit

¿Cómo puedo ejecutar un comando de terminal (por ejemplo, compilación) en vim mientras trabajo en un archivo y al mismo tiempo mostrar la salida en vivo en un vsplit?

Respuesta1

Necesitas usarfunción job_startpara esto. Invocará su comando en una instancia de proceso separada. Puede pasar nombres de búfer a esta llamada y vim vinculará las tuberías STDOUT y STDERR del proceso del trabajo a estos búferes. También es posible realizar una serie de acciones adicionales, como registrar devoluciones de llamada cuando se publican datos en estos buffers, el tipo de trabajo que se ejecuta, etc.

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

información relacionada