14 是否可以检索我“放弃”的更改分支?例如,我使用撤消了几个操作u,然后更改了插入模式。但是后来我意识到我不想进行此更改,我宁愿回到开始时的状态(撤消之前)。 这些变化会永远消失吗? undo-redo — 内布里尔 source
12 要浏览撤消树,最好的选择是使用Gundo插件。这将创建一个具有特殊绑定的新拆分窗口,以跳转到撤消树内的不同分支,并创建一个预览窗格,向您确切显示树中每个节点之间的变化。 — 史蒂夫·韦默伦 source 另一个选择是UndoTree。 — musicmatze
12 对于像这样的简单情况,您只需按g-。 本质上,这样做是按时间顺序遍历更改列表(将a u作为实际更改),而不是线性遍历(如u/ <C-r>)。 例如,如果您插入了几行并按g-,则会发生这种情况: — 门把手 source 您是如何创建动画gif的? — guido'2 4 @guido我使用了一个名为mkcast的自定义工具。 — 2015年
2 不,您不能在树上来回移动。最好的方法是为此工作使用插件。 另一个插件是Undotree。就像Gundo,但有一些区别: 纯粹的vimscript实现,不需要第三方库(如python),不用担心性能,对于vim来说,处理这个并不是什么大问题。唯一的依赖是'diff'工具,该工具始终随vim一起提供,即使没有'diff',您仍然可以使用此脚本的大多数功能。 实时更新的撤消树。进行更改后,撤消树将同时更新。 几个有用的标记,例如当前变更集,下一个重做变更集,保存的变更集等。 在相对时间戳和绝对时间戳之间切换。 实时更新撤消窗口。 清除撤消历史记录的能力。 更可定制。 — 阿德拉斯 source 4 这不是门把手的帖子直接否定的答案吗? — Caleb 2015年