加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim:在W11上显示差异(自编辑开始后文件已更改)

发布时间:2020-12-15 21:21:48 所属栏目:安全 来源:网络整理
导读:当一个文件被更改并且我正在处理它时,vim会提示我两个选择: W11: Warning: File "foo.bar" has changed since editing startedSee ":help W11" for more info.[O]K,(L)oad File: 有没有办法让它显示缓冲区内容和磁盘上的内容之间的差异? 解决方法 将以下内
当一个文件被更改并且我正在处理它时,vim会提示我两个选择:

W11: Warning: File "foo.bar" has changed since editing started
See ":help W11" for more info.
[O]K,(L)oad File:

有没有办法让它显示缓冲区内容和磁盘上的内容之间的差异?

解决方法

将以下内容放在.vimrc文件中:h:DiffOrig

command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis

然后当提示命中o为ok时,然后执行:DiffOrig.您将看到差异.

如果您决定要从磁盘执行文件:e!从磁盘重新加载文件.

快速概述:DiffOrig

垂直拆分新缓冲区并从磁盘读入有问题的文件并标记要扩散的两个缓冲区.

细节的荣耀:DiffOrig

>:vert {cmd}将执行任何{cmd},任何拆分将垂直拆分.
> new用新缓冲区打开一个新的分区
> set bt = nofile将’buftype’设置为nofile,因此不会将任何文件写入磁盘
> r简称:read {file}. r#将备用文件读入缓冲区,该文件是刚拆分的缓冲区.此替代文件是从磁盘读取的有问题的文件.
> 0d_这是0delete _的缩写.读取替代文件时,在顶部留下一个空行. 0delete _会将顶行删除到黑洞寄存器中,这样就不会与其他寄存器混淆.
> diffthis set buffer to diffed.
> windcmd p切换回上一个窗口.这与正常模式下的< c-w> p相同.
> diffthis这将更改的缓冲区设置为包含在diff集中.

欲获得更多信息:

:h :DiffOrig
:h :e
:h :diff
:h vert
:h new
:h r
:h d
:h "_
:h windcmd
:h diffthis
:h :c_#

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读