
¿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