跳过Vim中的撤消步骤

Kev*_*rke 19 vim tree undo 3-way-merge

假设我在我的文档中处于A状态.然后我按顺序进行B,C和D的更改.

有没有办法可以保持B和D的变化,但跳过C?

或者,假设我在我的文档中处于A状态.我做出更改B,撤消它,然后进行更改C和D(因此Vim有一个带有两个分支的撤消树).然后我改变了主意,决定要使用B和D而不是C.

我怎么能在Vim中这样做?我已gundo.vim安装插件,但我没有那么多使用它.

Nic*_*son 2

好吧,我会尝试一下并说:不,我认为没有办法用 vim 完全满足您的要求。

gundo.vim为 vim 的撤消添加了一个漂亮的界面,但没有改变其核心功能。所以我查看了 vim 官方文档,看看是否有任何提示表明它是否能够做到这一点:

没有关于将两个分支合并在一起的事情。我认为 ewh 和 ZyX 是正确的:要获得将 B 与 D 合并的通用解决方案,vim 需要

  1. Bram 将在未来版本中将其作为单独的功能添加
  2. 有人通过与已经可以进行合并的东西(如 git/hg)集成来在插件中实现它

您当然可以尝试通过打开版本 B、C 和 D 的文件以及一些差异来手动执行此操作。


注意:如果我误解了,并且您并不想知道通用解决方案并且正在寻求有关此特定实例的帮助,请告诉我,我会看看我能做什么:)