Wolfgang Schmidt wrote:
If Vim detects that a file has been changed outside Vim and not inside
Vim, 'autoread' will make Vim reread it automatically. But that
auto-read won't happen if you do nothing. Vim checks timestamps after
invoking the shell, and when you issue the ":checktime" command. Even if
I want to use vim to watch the output of another program (logfile,
compilation output, ...). I want to have something like the
functionality of the unix "tail" command, that is, if something new is
written to the file, I want the buffer to get updated. I know I can
reload the file manually with ":e", but I want it to be done
automatically. I tried the autoread option (":set ar"), but I still have
to reload the buffer by hand, the buffer does not get updated
automatically. Could anybody tell me, how autoread is supposed to work?
Thanx in advance
:au CursorHold,CursorHoldI * checktime
the check will be triggered *once* if you wait for 'updatetime'
milliseconds without doing anything, then it won't be retriggered until
you hit a key.
You could also use
:map <F7> :checktime<CR>
:map! <F7> <C-O>:checktime<CR>
then hit F7 periodically to see if anything has been added. Etc...