En estopregunta, respondió Gilles
Otra posibilidad más es correr
tail -f
en unEmacsbuffer de shell y usar las capacidades de coloración de sintaxis de Emacs.
Como soy un usuario de vim, me gustaría hacer esto conempuje, noemacs.
Haceempujetiene esta característica?
Respuesta1
Puede escribir un complemento multiproceso para cambiar los búferes en tiempo real en Python o cualquier otro script que Vim admita y tenga subprocesos.
Pero, hasta donde yo sé, esto solo funciona en la terminal. Al menos en X11, la versión de la GUI fallará si otro hilo modifica la GUI.
Si acepta otros programas,grcycczeson capaces de colorear transmisiones.
Respuesta2
Me gusta breve y sin muchos hacks o scripts externos. Puede ejecutar este oneliner desde ex (dentro de vim) cuando sea necesario (o poner cada comando en vimrc, para cuando se abran los archivos de registro).
:set autoread | au CursorHold * checktime | call feedkeys("lh")
y además puedes :set syntax=logtalk
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 cambia desde el exterior (pero no funciona por sí solo, no hay un temporizador interno o algo así. Solo leerá el archivo cuando vim realice una acción, como un comando en ex:!
CursorHold * checktime
: cuando el usuario no mueve el cursor durante el tiempo especificadoupdatetime
(que es 4000 milisegundos de forma predeterminada),checktime
se ejecuta, lo que busca cambios desde fuera del archivocall feedkeys("lh")
: el cursor se mueve una vez, hacia la derecha y hacia la izquierda. y luego no pasa nada (... lo que significa queCursorHold
se activa, lo que significa que tenemos unbucle)
Para detener el desplazamiento cuando se usa call feedkeys("G")
, ejecute :set noautoread
; ahora vim le dirá que el archivo fue cambiado y le preguntará si desea leer los cambios o no).
Me gusta la idea de ver archivos de registro en vim (en lugar de tail -f), por ejemplo, cuando estás trabajando en una sesión ssh sin screen/tmux. Además, puede copiar directamente desde el archivo de registro, si es necesario, o guardar el resultado directamente o... cualquier cosa que pueda hacer con vim :)
*de estorespuesta(refiriéndose a una respuesta dePhanHaiQuangy un comentario deflukus)