I have found, that the most comfortable way to do this is DiffOrig command, described in the VIM help (you should define it self though). One this command does the something very similar to all those copy/paste/force reload/diffthis stuff.
:help DiffOrig
To reload unconditionally, from wherever it is, the file you're curretly editing: :e " read-write if the file has read-write permissions or :view " always readonly
- To check whether any of the file(s) you're currently editing has been changed by someone else: :checkt[ime]
If a file or its datestamp have changed, then if 'autoread' is set and the file is not 'modified' in your instance of Vim, Vim will reload it without prompting. Otherwise, Vim will ask you what you want to do about the change.
See :help :edit :help :checktime :help 'autoread'
Random;
but I liked this command; so wrote a little wrapper to toggle it...
(broken if you change buffers I know, but my scripting is horrible at
best for vim)
function! DiffOrig() if &diff wincmd p | bdel | diffoff else vert new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis endif endfunction map do :call DiffOrig()