linux 强制刷新文件,vim 如何刷新或重载reload 已打开的文件

Ref:vim 如何刷新或重载reload 已打开的文件

Just use

:e

to reload the file.  I believe, if you've made changes to the

file, it requires you to do

:e!

to force-discard your local changes and reload from the disk.

If I'm not sure, I'll often yank my current copy into a scratch

buffer/window, force-reload the file from disk, and then use

:diffthis

on each of the two buffers/windows to verify that there are no

surprises.

You may also be interested in the 'autoread' setting.

More information at

:help FileChangedShell

:help 'autoread'

:help :e

:help :diffthis

-tim

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值