Kısa ve çok fazla hack veya harici komut dosyası olmadan seviyorum. Gerektiğinde bu oneliner'ı ex (whimin vim) 'den çalıştırabilirsiniz (veya günlük dosyaları açıldığında her komutu vimrc'ye koyabilirsiniz.)
:set autoread | au CursorHold * checktime | call feedkeys("lh")
ve ayrıca :set syntax=logtalk
günlüğü renklendirebilirsiniz
(dosyanın sonuna kadar (neredeyse) atlamak istiyorsanız, feedkeys ile "lh" yerine "G" kullanın)
Açıklama:
autoread
: dışarıdan değiştiğinde dosyayı okur (ancak kendi başına çalışmaz, dahili bir zamanlayıcı veya bunun gibi bir şey yoktur. Dosyayı yalnızca vim bir komut gibi, :!
CursorHold * checktime
: imleç kullanıcı tarafından belirtilen süre boyunca hareket ettirilmediğinde updatetime
(varsayılan olarak 4000 milisaniyedir) checktime
yürütülür ve dosyanın dışından gelen değişiklikleri kontrol eder
call feedkeys("lh")
: imleç bir kez, sağa ve sola hareket ettirilir. ve sonra hiçbir şey olmuyor (... yani CursorHold
bu tetikleniyor, yani bir döngümüz var )
Kullanırken kaydırmayı durdurmak için call feedkeys("G")
, yürüt :set noautoread
- şimdi vim dosyanın değiştiğini söyleyecek ve değişikliklerin okunup okunmayacağını soracaktır)
Ben vim logfiles (kuyruk -f yerine), örneğin screen / tmux olmadan bir ssh oturumunda çalışırken fikrini seviyorum. Ek olarak, gerekirse doğrudan günlük dosyasından kopyalayabilir veya çıktıyı doğrudan kaydedebilir veya ... vim ile ne yapabilirsiniz? :)
* bu cevaptan ( PhanHaiQuang'ın cevabına ve flukus tarafından yapılan bir yoruma atıfta bulunarak )