在Vim发生意外变化后重新进行

在Vim发生意外变化后重新进行,vim,undo,Vim,Undo,假设我做了3个改变,C1,C2和C3 然后我撤销X3。然后我重做X3。我回到了起点 然后我再次撤消X3,但随后我意外地键入了ifoo。我现在可以做些什么来恢复更改3?根据该顺序,您应该能够一次性键入g-(g-)以返回更改3。您可能需要打开另一个Vim实例并对其进行测试,以验证它是否符合您的要求 键入:h撤消分支,了解更多信息 Vim的特殊之处在于它不仅存储编辑(和撤销)的线性历史记录,实际上还存储所有分支!您可以使用g-和g+命令在其中移动,也可以使用:previous命令按计数、秒数、分钟等移

假设我做了3个改变,C1,C2和C3

然后我撤销X3。然后我重做X3。我回到了起点


然后我再次撤消X3,但随后我意外地键入了
ifoo
。我现在可以做些什么来恢复更改3?

根据该顺序,您应该能够一次性键入
g-
(g-)以返回更改3。您可能需要打开另一个Vim实例并对其进行测试,以验证它是否符合您的要求


键入
:h撤消分支
,了解更多信息

Vim的特殊之处在于它不仅存储编辑(和撤销)的线性历史记录,实际上还存储所有分支!您可以使用
g-
g+
命令在其中移动,也可以使用
:previous
命令按计数、秒数、分钟等移动到文本状态。有关详细信息,请参见
:help undo branchs
:help usr_32.txt

插件推荐
因为这种导航仍然让人感到精神上的负担(而且人们不想在潜在的巨大撤销树中迷失方向!),所以和插件提供了更好的可视化效果,包括在每个状态下查看变化的差异。

Nice!我不知道这棵树。我打算安装Python只是因为Gundo需要它,但这让我免于这么做;我也喜欢它的树更紧凑。