як @flukus сказав у коментарі до попередньої відповіді, яку ви можете call feedkeys["lh"]
(він переміщує курсор вправо і назад вліво, що зазвичай не шкодить при перегляді файлу журналу)
Отже, якщо ви поєднаєте решту відповідей, у вас є oneliner, ви можете запустити з ex (whithin vim), коли це потрібно:
:set autoread | au CursorHold * checktime | call feedkeys("lh")
(якщо ви хочете перейти (майже) до кінця файлу, просто використовуйте "G" замість "lh" із стрілками)
Пояснення:
- autoread : читає файл, коли його змінюють ззовні (але він не працює сам по собі, немає внутрішнього таймера чи щось подібне. Він буде читати файл лише тоді, коли vim виконує дію, як команда в ex :!
- CursorHold * checktime : коли курсор не переміщується користувачем протягом часу, визначеного в 'updatetime' (який за замовчуванням становить 4000 мілісекунд), виконується контрольний час, який перевіряє зміни поза файлом
- виклики викликів ("lh") : курсор переміщується один раз, праворуч і назад ліворуч, і тоді нічого не відбувається (... а це означає, що CursorHold спрацьовує, це означає, що у нас є цикл )
Додатково можна :set syntax=logtalk
пофарбувати колоду
Щоб зупинити прокрутку при використанні call feedkeys("G")
, виконайте команду :set noautoread
- тепер vim скаже, що файл було змінено і запитайте, чи бажаєте ви прочитати зміни чи ні)
(Чи має це побічні ефекти?)
Редагувати: Я бачу один побічний ефект: якщо використовується "G" є клавішею, вона прокручуватиме вниз кожен відкритий буфер ?! Отже, неможливо працювати у лівому буфері вікна спліттету, у той час як правий буфер автоматично прокручує журнал вниз