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?


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.


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.