vim “diff模式下有两个以上的缓冲区”-如何关闭缓冲区上的diff?

w6mmgewl  于 2023-03-12  发布在  其他
关注(0)|答案(3)|浏览(313)

我做了:vert diffsplit file1.txt,然后意识到我不想比较它,而是一个不同的文件,所以我用:q关闭了一个窗口,用:diffoff关闭了比较突出显示。
然后我尝试了:vert diffsplit file2.txt,但现在如果我尝试dpdo来放置/获取更改,我会得到E101: More than two buffers in diff mode, don't know which one to use错误。
我如何避免这种情况,或者我做错了什么?

kpbwa7wx

kpbwa7wx1#

在使用:q * 退出之前,您应该使用:diffoff * 关闭不需要的缓冲区的diff模式。根据您的设置(例如:set hidden),缓冲区将保留在缓冲区列表(:ls)中,Vim在执行diff时会考虑它。
:bufdo diffoff应该关闭所有现有缓冲区的diff,尽管如果出现这种情况,我通常只是退出Vim,然后用vimdiff ...重新启动它。

iswrvxsc

iswrvxsc2#

记下您要通过:ls命令放置/获取更改的缓冲区编号。
然后在put/get命令前面加上您选择的缓冲区号,例如2dp

xu3bshqb

xu3bshqb3#

这可能是一个迟来的答复,但仍供将来参考
我知道

:tabdo diffoff!

相关问题