online metrologia mac for vim

metrologia - Funcionalidad tipo cola para gvim



vim online (3)

Quiero usar gvim para ver un archivo de registro que se actualiza continuamente, de modo que siempre veo la última línea actualizada, como el comando tail en unix. ¿Es posible?


Abra el archivo de registro y

:setlocal autoread

Hay un complemento ( Tail Bundle ) en el sitio vim .


Me gusta corto y sin muchos hackers o scripts externos. Puede ejecutar este oneliner desde ex (whithin vim) cuando sea necesario (o poner cada comando en vimrc, para cuando se abren los archivos de registro).

:set autoread | au CursorHold * checktime | call feedkeys("lh")

y adicionalmente puede :set syntax=logtalk para colorear el registro

(Si desea saltar (casi) al final del archivo, simplemente use "G" en lugar de "lh" con las teclas de alimentación)

Explicación:

  • autoread : lee el archivo cuando se modifica desde el exterior (pero no funciona por sí solo, no hay un temporizador interno o algo así. Solo leerá el archivo cuando vim realiza una acción, como un comando en ej :!
  • CursorHold * checktime : cuando el usuario no mueve el cursor durante el tiempo especificado en updatetime (que es de 4000 milisegundos de forma predeterminada) se ejecuta el tiempo de verificación, que verifica los cambios fuera del archivo
  • call feedkeys("lh") : el cursor se mueve una vez, a la derecha y atrás a la izquierda. y luego no pasa nada (... lo que significa que CursorHold se activa, lo que significa que tenemos un bucle )

Para detener el desplazamiento cuando use call feedkeys("G") , ejecute :set noautoread - ahora vim le dirá que el archivo se cambió y pregunte si desea leer los cambios o no)

* de esta answer (refiriéndose a una respuesta de PhanHaiQuang y un comentario de flukus )


O una solución menos elegante en un vim 7.x sería simplemente hacer: e! siempre que necesites la actualización.