是否可以检索我“放弃”的更改分支?例如,我要使用u撤消几个操作,然后要更改插入模式。但是后来我意识到我不想进行更改,而是想回到开始时的状态(撤消之前)。

这些更改是否会永远丢失?

#1 楼

要浏览撤消树,最好的选择是使用Gundo插件。这将创建一个具有特殊绑定的新拆分窗口,以跳转到撤消树中的不同分支,同时还提供一个预览窗格,该预览窗格将向您确切显示树中每个节点之间的变化。

评论


另一个选择是UndoTree。

–musicmatze
2015年2月4日,0:28

#2 楼

对于像这样的简单情况,您只需按g-即可。

本质上,此操作是按时间顺序遍历更改列表(将u作为实际更改)而不是线性地遍历(例如u / <C-r> )。

例如,如果您插入几行并按g-,则会发生以下情况:



评论


您是如何创建动画gif的?

– Guido
2015年2月3日在22:32

@guido我使用了一个名为mkcast的自定义工具。

–门把手
2015年2月3日在22:34

#3 楼

不,您不能在树上来回移动。最好的方法是在此工作中使用插件。

另一个插件是Undotree。就像Gundo,但有一些区别:


纯vimscript实现,不需要第三方库(如
python),不用担心性能,不是对于Vim来说,这是一个大问题。唯一的依赖是'diff'
工具,该工具始终随vim一起提供,即使没有'diff',您仍然可以使用此脚本的大多数功能。
实时更新的撤消树。进行更改后,撤消树
将同时更新。
几个有用的标记,例如当前更改集,下一个重做更改集,
保存的更改集等。
在相对时间戳之间切换和绝对时间戳。
实时更新撤消窗口。
清除撤消历史记录的能力。
更多可自定义。


评论


这不是门把手的帖子直接否定的答案吗?

–卡莱布
2015年2月4日9:00