Emacs的undo与redo

摘要:
如果撤消记录如下所示,则在使用C-时,操作1、操作2、操作3。如果我们使用命令C-g,撤消记录将变为“操作1,操作2,操作3,撤消操作3,撤销操作2,撤消操作1”。此时,如果我们连续使用C—_3次命令,文档状态将恢复到无需撤消操作的状态。

在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操作的状态。

免责声明:文章转载自《Emacs的undo与redo》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇跨线程调用控件python 查看图片分辨率及格式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

emacs 从入门到入门

一、参考 Master Emacs in 21 Days 二、键盘对应(Mac) 2.1 原始对应 M(eta), Option 键 s(uper), 左 Command 键 S(Shift) C(trl) 2.2 修改 ctrl 键 CapsLock 使用 shift + 实现 修改 item2 默认的配置,将 left option 修改为 me...

MySQL 详细解读undo log :insert undo,update undo

转自aobao.org/monthly/2015/04/01/ 本文是对整个Undo生命周期过程的阐述,代码分析基于当前最新的MySQL5.7版本。本文也可以作为了解整个Undo模块的代码导读。由于涉及到的模块众多,因此部分细节并未深入。 前言 Undo log是InnoDB MVCC事务特性的重要组成部分。当我们对记录做了变更操作时就会产生undo记录...

监控和管理Oracle UNDO表空间的使用

监控和管理Oracle UNDO表空间的使用                 对Oracle数据库UNDO表空间的监控和管理是我们日常最重要的工作之一,UNDO表空间通常都是Oracle自动化管理(通过undo_management初始化参数确定);UNDO表空间是用于存储DML操作的前镜像数据,它是实例恢复,数据回滚,一致性查询功能的重要组件;我...

MySQL数据库事务各隔离级别加锁情况--read committed && MVCC(转)

本文转自https://m.imooc.com/article/details?article_id=17290 感谢作者 上篇记录了我对MySQL 事务 隔离级别read uncommitted的理解。这篇记录我对 MySQL 事务隔离级别 read committed & MVCC 的理解。 前言 可以很负责人的跟大家说,MySQL 中的...

Oracle redo与undo浅析

http://liwenshui322.iteye.com/blog/1488949 一. 什么是redo(用于前滚数据) redo也就是重做日志文件(redo log file),Oracle维护着两类重做日志文件:在线(online)重做日志文件和归档(archived)重做日志文件。这两类重做日志文件都用于恢复;其主要目的是,万一实例失败或介质失败,...

pg vacuum的弊与利 之弊

即便是从数据库特性,SQL功能性等方面,PostgreSQL都是一个更接近Oracle,在这方面远胜于MySQL的数据库,但是这个来源是学校的教学数据库的开源数据库,在很多地方,设计实现上的考虑,从我目前来看,是不完备的,其中的典型代表,就是vacuum机制. 如果是一直搞别的数据库的人,无论是MySQL还是Oracle的DBA,看PostgreSQL总感...