Emacs的undo与redo
在Emacs的手册16.1节中有这样一句话,
Any command other than an undo command breaks the sequence of undo commands. Starting from that moment, the entire sequence of undo commands that you have just performed are themselves placed into the undo record, as a single set of changes. Therefore, to re-apply changes you have undone, type C-f or any other command that harmlessly breaks the sequence of undoing; then type C-/ to undo the undo command.
每个缓冲区都有一个undo记录,每次更改缓冲区都会放入这个undo记录中,我们可以通过连续的c-_进行undo,如果在连续的undo命令序列中插入其他命令比如文档中提到的C-f或者是C-g,那么前面的连续的undo操作都会被作为单独的修改集合放入undo记录中,从而可以重新应用刚才被undo的操作。
如果undo记录如下面这样,
操作1 操作2 操作3
当使用C-_undo到“操作1”了,我们使用了命令C-g,那么undo记录就会变成,
操作1 操作2 操作3 undo操作3 undo操作2 undo操作1
此时我们如果连续使用C-_3命令次,文档的状态就会恢复到没有进行undo操作的状态。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· 程序员常用高效实用工具推荐,办公效率提升利器!
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 【译】WinForms:分析一下(我用 Visual Basic 写的)