有办法手动设置Undo Checkpoint 吗? 在Undo-Tree中

想要有一个手动设置Undo Checkpoint的功能, 确保自己将来Undo的时候能够回到这个状态(可能会需要Undo多次), 有这个功能吗?

我的用处其实是想advise诸如Emmet, Yasnippet, Company, 这些展开或补全的函数, 使得undo时回到未展开/补全的状态.

想象中应该是有一个undo list, 然后我push 当前的状态进去, 但看文档没有找到类似的东西, 有大神研究过吗?

补充, 我在使用 undo-tree

这种最好用 git 来管理吧。我一般是 stage 一下,然后放心去写,想撤回就清 stage。如果想要在 stage 的基础上再修改,就 commit。最后 squash 合并一下 commit。

不用 git 之类的版本管理的话,容易出现某些场景丢了代码,毕竟考虑的肯定不如专业的版本管理多。

我理解你说的, 但我的用处其实是想advise诸如Emmet, Yasnippet, Company, 这些展开或补全的函数, 使得undo时回到未展开/补全的状态.

(undo-boundary)

2 个赞

谢谢! 不过用undo-tree的话这个就不灵了. 您有什么建议么?

它不应该不灵,undo-tree自己也是用这个的。如果有什么问题,高概率是undo-tree自己的问题

燃鹅确实不灵, Vanilla Emacs就是可以的.

有一个 undo-tree-save-state-to-register,应该可以利用一下。