En esta pregunta , Gilles respondió
Otra posibilidad es ejecutar
tail -f
en un búfer de shell de Emacs y usar las habilidades de coloración de sintaxis de Emacs.
Como soy un usuario de vim, me gustaría hacer esto con vim , no con emacs .
¿ Vim tiene esta característica?
Respuestas:
Puede escribir un complemento de subprocesos múltiples para cambiar los búferes en tiempo real en Python o cualquier otro script que Vim admita y tenga subprocesos.
Pero esto solo funciona en la terminal hasta donde yo sé. Al menos en X11, la versión de la GUI se bloqueará si la GUI es modificada por otro hilo.
Si acepta otros programas, grc y ccze pueden colorear las transmisiones.
fuente
Me gusta breve y sin muchos hackers o scripts externos. Puede ejecutar este oneliner desde ex (dentro de vim) cuando sea necesario (o poner cada comando en vimrc, para cuando se abren los archivos de registro).
y adicionalmente 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 solo, no hay temporizador interno o algo así. Solo leerá el archivo cuando vim realice una acción, como un comando en ex:!
CursorHold * checktime
: cuando el cursor no es movido por el usuario durante el tiempo especificadoupdatetime
(que es 4000 milisegundos por defecto)checktime
se ejecuta, que verifica los 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 dispara, lo que significa que tenemos un bucle )Para detener el desplazamiento al usar
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á trabajando en una sesión ssh sin pantalla / tmux. Además, puede copiar directamente desde el archivo de registro, si es necesario, o guardar la salida directamente o ... lo que sea que pueda hacer con vim :)
* de esta respuesta (refiriéndose a una respuesta de PhanHaiQuang y un comentario de flukus )
fuente