emacs的viper模式中回撤操作

第一个“回撤”简单,就是简单的往前回退,没有方向。但接着就有了方向,是继续 “往前” 还是 回撤“回撤” 的往后呢?

在emacs的viper模式中是这么解释的:

Viper supports multiple undo: ‘u’ will undo.  Typing ‘.’ will repeat undo.  
Another ‘u’ changes direction.

第1次回撤按 “u” ,然后接着按 “." 是继续往前。如果这时按 ”u“则往后。

举例:

依次打印字符:tools

删掉oo:tls

插入ee:teels

按u:tools

这时出现分支:

若按u:则代表撤销”撤销“,即撤销刚才的回复操作,刚才是把tools变成teels,按u后又变成tools,这时如果继续按u,则代表再次撤销”撤销“操作,即有变为 teels。

若按点操作 ”.“  :则变为继续往前操作,即删除整个单词tools,为什么?

整个书写过程分为3步,第0步:无,第1步:写入tools,第2步:改为teels,当按”u“时,回退到第1步,即变为tools,当按 ”." 时,代表继续往前回退,即回退到第0步的状态,即无。什么也没有的状态。如果按的不是 "." 而是“u”时,则撤销“回退”即回到第2步的状态,则变为teels了。

posted @ 2024-03-28 15:41  立体风  阅读(1)  评论(0编辑  收藏  举报