Muat ulang file dalam vim [duplikat]

53

Pertanyaan ini sudah ada jawabannya di sini:

Ketika saya memiliki file yang terbuka di vim, dalam hal ini file log, saya ingin memicu penyegaran dan memuat perubahan file ke dalam sesi vim yang ada.

Saya sering menggunakan tail -f pada file log, tetapi karena saya menggunakan java dan kucing jantan, pesan log terlalu banyak untuk ekor ...

Apakah ada perintah vim untuk memuat ulang file yang terbuka?

mcgyver5
sumber
2
terlalu banyak untuk ekor? bahkan sebagai pengguna vim saya tidak melihat bagaimana vim dapat memperbaiki situasi ...
akira
terlalu banyak untuk ekor karena jumlah garis tidak dapat diprediksi jadi saya tidak bisa yakin bahwa ekor -fn 200 akan cukup
mcgyver5
Saya memiliki log yang dihasilkan oleh modsecurity yang berisi karakter non-ASCII. Kucing dan ekor mengunci terminal saat dipanggil pada file ini. Vim meriang gembira bersama.

Jawaban:

71

Cobalah ini:

:e

Dari :h :e:

Edit file saat ini. Ini berguna untuk mengedit kembali file saat ini, ketika sudah diubah di luar Vim.

Dennis Williamson
sumber
Terima kasih! Saya berpikir pada satu titik: e tidak bekerja untuk saya tetapi berfungsi sekarang!
mcgyver5
atau pergi ke akhir file juga ... :e | $
ebyrob
15

Meskipun :ejawaban yang benar untuk pertanyaan yang Anda ajukan, jika tujuannya adalah untuk mengekor log dengan scrollback yang baik, Anda dapat menggunakan lebih sedikit. Fsaat melihat file akan gulir ke Fdepan, dengan memuat ulang terus menerus. Dari halaman 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.)

Kurang dari pengenaan pada pengguna daripada dengan cepat :edi vim.

to_json
sumber