13

我做到了: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错误消息。

我该如何避免这种情况,或者我做错了什么?

4

3 回答 3

14

在使用退出:diffoff 之前,您应该使用 关闭不需要的缓冲区的差异模式:q。根据您的设置(例如:set hidden),缓冲区将保留在缓冲区列表中(:ls),并且 Vim 会在进行差异时考虑它。

A:bufdo diffoff应该关闭所有现有缓冲区的差异,尽管我通常只是退出 Vim 并vimdiff ...在出现这种情况时重新启动它。

于 2012-11-07T07:53:26.790 回答
3

这可能是一种迟到的答复,但仍待将来参考

我做

:tabdo diffoff!
于 2013-12-06T06:06:30.167 回答
3

请注意您要通过:ls命令放置/获取更改的缓冲区号。

然后在您的 put/get 命令前加上您选择的缓冲区编号,例如2dp.

来源:具有多个缓冲区的 Vimdiff

于 2020-06-25T16:00:26.567 回答