Перезагрузить файл в vim [дубликаты]

53

Когда у меня есть файл, открытый в vim, в данном случае это файл журнала, я хотел бы запустить обновление и загрузить любые изменения файла в мой существующий сеанс vim.

Я часто использую tail -f в файлах журналов, но поскольку я использую java и tomcat, сообщения журнала слишком велики для tail ...

Есть ли команда vim для перезагрузки открытого файла?

mcgyver5
источник
2
слишком много для хвоста? даже будучи пользователем vim, я не вижу, как vim может улучшить ситуацию ...
akira
слишком много для tail, так как число строк было непредсказуемым, поэтому я не мог быть уверен, что tail -fn 200 будет достаточно
mcgyver5
У меня есть журнал, сгенерированный modsecurity, который содержит символы не ASCII. И кошка, и хвост блокируют терминал при вызове этого файла. Вим весело пыхтит.

Ответы:

71

Попробуйте это:

:e

От :h :e:

Редактировать текущий файл. Это полезно для повторного редактирования текущего файла, когда он был изменен вне Vim.

Деннис Уильямсон
источник
Спасибо! В какой-то момент я подумал: у меня не работает, но сейчас работает!
mcgyver5
или перейдите также в конец файла ... :e | $
ebyrob
15

Хотя :eэто правильный ответ на вопрос, который вы задали, если целью является создание журнала с хорошим прокруткой, вы можете использовать меньше. Fво время просмотра файл будет прокручиваться Fвлево или вправо, с непрерывной перезагрузкой. Со страницы руководства:

   F      Scroll  forward, and keep trying to read when the end of file
          is reached.  Normally this command would be used when already
          at the end of the file.  It is a way to monitor the tail of a
          file which is growing while it is being viewed.  (The  behav-
          ior is similar to the "tail -f" command.)

Меньше навязывание пользователю, чем быстрое использование :evim.

to_json
источник