Vim中如何按时间撤销操作?

6

有没有一种方式(例如插件)可以根据时间撤销Vim缓冲区中的更改,比如撤销最近30分钟内的更改,或者在今天下午2点之后撤销更改?我刚刚发现,对于一些稍微长一点的更改序列,[count]u并不是那么有用。


2
现在有一个专门的Stack Exchange网站(https://vi.stackexchange.com/)供Vi和Vim使用,下次你可以考虑在那里发布问题。 - statox
1个回答

19

使用:earlier可以回到先前的状态,例如回到30分钟之前的状态。

:earlier 30m

:earlier接受相对时间,所以要回到某个特定时间的状态,您需要自己进行计算(但是您可以将其包装在自定义函数中)。

要探索撤消树插件,例如Gundo非常方便。


Gundo的链接似乎已经失效了,它是否已经消失了? - lindhe
1
@lindhe,看起来他们已经迁移到Github了。我更新了链接。 - Benjamin Bannier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接