Я хочу использовать gvim для просмотра файла журнала, который постоянно обновляется, так что я всегда вижу последнюю обновленную строку, очень похожую на команду tail в unix. Является ли это возможным?хвост как функциональность для gvim
ответ
Как использовать плагин Tail Bundle? Я просмотрел документы, и никто из них, похоже, не загрузил файл? – ewok
Или менее элегантное решение на vim 7.x было бы просто: e! когда вам нужно обновление.
Извините за то, что вы отметили этот ответ, но это именно то, что Canopus пытался НЕ делать ... «постоянно обновляемый, такой, что я всегда вижу последнюю обновленную строку», не разрешается ': e!' Всякий раз, когда вам нужно обновление , – pvandenberk
признал, будет внимательно изучать вопросы. – user28095
Мне это нравится короткие и без большого количества взломов или внешних скриптов. Вы можете запустить этот Oneliner из бывших (Whithin VIM), когда это необходимо (или поместить каждую команду в vimrc, когда открываются лог-файлы.)
:set autoread | au CursorHold * checktime | call feedkeys("lh")
и, кроме того вы можете :set syntax=logtalk
окрашивать В журнале
(если вы хотите, чтобы прыгать (почти) до конца файла, просто использовать «G» вместо «ЛХ» с feedkeys)
Объяснение:
autoread
: считывает файл при изменении снаружи (но он не работает сам по себе, нет внутреннего таймера или чего-то подобного. Он будет доступен только для чтения файла, когда ВИМ делает действие, как команда в экс:!
CursorHold * checktime
: когда курсор не перемещается пользователем в течение времени, указанного вupdatetime
(который 4000 милисекунд по умолчанию)checktime
исполняется , который проверяет изменения вне файлаcall feedkeys("lh")
: курсор перемещается один раз, вправо и назад влево. и ничего не происходит (... а это значит, чтоCursorHold
срабатывает, а это значит, у нас есть цикл)
Чтобы остановить прокрутку при использовании call feedkeys("G")
, выполнить :set noautoread
- теперь ВИМ покажет, что файл было изменение анс спросить, если кто-то хочет, чтобы прочитать изменения или нет)
* от этого answer (отсылая к ответу на PhanHaiQuang и комментарий по flukus)
- 1. Вход для мыши в gvim
- 2. Как настроить соляризацию для gvim?
- 3. Плагины только для gvim?
- 4. Обратный журнал, как хвост
- 5. длинное приложение (хвост как)
- 6. Как «отрезать хвост» серии
- 7. Как получить хвост Tololtip для меню
- 8. Как изменить Gvim titlestring
- 9. Как сохранить настройки GVIM?
- 10. Как использовать GVIM для редактирования удаленного файла?
- 11. Как добавить Intellisense для языка в Gvim?
- 12. Как включить строку курсора только для gvim?
- 13. Как использовать gVim для перемещения сверху вниз
- 14. Как использовать MacVim как gVim?
- 15. Использование gvim для печати diffs?
- 16. Хвост базы данных MariaDB изменяется, как хвост MongoDB oplog
- 17. Как бы эффективно реализовать хвост?
- 18. Gvim-Как удалить нижнюю большую белую полоску gvim?
- 19. Go: «хвост -f» -как генератор
- 20. Извлечение диапазона (хвост) из списка
- 21. Как скомпилировать gVim под Ubuntu?
- 22. Как активировать существующее окно GVim
- 23. Как остановить диалог открытия gvim?
- 24. Хвост как пропустить последнюю строку
- 25. Как заставить GInfoWindow сократить хвост?
- 26. Gvim/Vim как FTP-программа?
- 27. Как запустить javascript в gvim?
- 28. GVim - Как обрабатывать несколько файлов
- 29. Как использовать историю команд gvim?
- 30. PowerShell, как GVim (VIM): оболочка
возможный дубликат [Использование VIM как логфайл-просмотра] (http://stackoverflow.com/questions/785389/using -vim-as-a-logfile-viewer) – feuGene
Указывает gvim, другой - vim. Это решение не работает для vim, поэтому это отдельный вопрос AND и отдельный ответ. НЕ дубликат. – iconoclast