Recarregar arquivo no vim [duplicado]

53

Esta pergunta já tem uma resposta aqui:

Quando tenho um arquivo aberto no vim, nesse caso, um arquivo de log, gostaria de acionar uma atualização e carregar qualquer alteração de arquivo na minha sessão existente do vim.

Costumo usar tail -f em arquivos de log, mas como estou usando java e tomcat, as mensagens de log são demais para tail ...

Existe um comando vim para recarregar um arquivo aberto?

mcgyver5
fonte
2
demais para cauda? até mesmo como um usuário vim Eu não ver como vim pode melhorar a situação ...
akira
demais para cauda em que o número de linhas era imprevisível, então eu não podia ter certeza de que a cauda -fn 200 seria suficiente
mcgyver5
Eu tenho um log gerado pelo modsecurity que contém caracteres não ASCII. Gato e cauda bloqueiam o terminal quando chamados neste arquivo. Vim se diverte alegremente.

Respostas:

71

Faça uma tentativa:

:e

De :h :e:

Edite o arquivo atual. Isso é útil para reeditar o arquivo atual, quando ele foi alterado fora do Vim.

Dennis Williamson
fonte
obrigado! Eu pensei em um ponto: e não estava funcionando para mim, mas funciona agora!
Mcgyver5
ou vá para o final do arquivo ... :e | $
ebyrob 23/02
15

Embora :eseja a resposta correta para a pergunta que você fez, se o objetivo é ajustar um log com boa rolagem, você pode usar menos. Fenquanto visualiza um arquivo rola para a frente F, com recarregamento contínuo. Na página do manual:

   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.)

Menos imposição ao usuário do que rapidamente :eno vim.

to_json
fonte