come ha detto @flukus in un commento a una risposta precedente puoi call feedkeys["lh"](sposta il cursore a destra e di nuovo a sinistra, il che normalmente non fa male durante la visualizzazione di un file di registro)
Quindi, se combini il resto della risposta hai un oneliner che puoi eseguire da ex (all'interno di vim) quando necessario:
:set autoread | au CursorHold * checktime | call feedkeys("lh")
(se vuoi saltare (quasi) alla fine del file, usa semplicemente "G" invece di "lh" con i feedkeys)
Spiegazione:
- autoread : legge il file quando viene modificato dall'esterno (ma non funziona da solo, non esiste un timer interno o qualcosa del genere. Leggerà il file solo quando vim esegue un'azione, come un comando in ex :!
- CursorHold * checktime : quando il cursore non viene spostato dall'utente per il tempo specificato in 'updatetime' (che è 4000 millisecondi per impostazione predefinita) viene eseguito il checktime, che controlla le modifiche dall'esterno del file
- chiama feedkeys ("lh") : il cursore viene spostato una volta, a destra e indietro a sinistra. e poi non accade nulla (... il che significa che CursorHold è attivato, il che significa che abbiamo un ciclo )
Inoltre puoi :set syntax=logtalkcolorare il registro
Per interrompere lo scorrimento durante l'uso call feedkeys("G"), eseguire :set noautoread- ora vim dirà che il file è stato modificato e chiedere se si desidera leggere o meno le modifiche)
(Questo ha effetti collaterali?)
Modifica: vedo un effetto collaterale: se si usa "G" come feedkey, scorrerà verso il basso ogni buffer attualmente aperto ?! Quindi, non è possibile lavorare nel buffer sinistro di una finestra suddivisa mentre il buffer destro fa scorrere automaticamente un file di registro verso il basso