这篇文章说“Emacs有重做,因为你可以在撤销的时候反转方向,从而撤销撤销”。

这是什么意思?用户如何使用Emacs“重做”?


当前回答

小心重做时的撤销树怪癖!

许多流行的“入门套件”(prelude, purcell, spacemacs)都捆绑了撤销树。大多数(全部?)甚至自动启用它。如前所述,撤销树是可视化和遍历撤销/重做树的方便方法。前奏甚至给了它一个关键和弦(uu),还有c - xu。

问题是:undo-tree似乎破坏了Emacs默认的和众所周知的重做绑定:C-g C-/。

相反,你可以使用这些对称键来撤销/重做:

C-/     undo
C-S-/   redo

这些是有用的,因为有时你想快速重做而不打开可视化工具。

其他回答

撤消:C-_

撤销后重做:C-g C-_

在C-_上多次输入以重做被C-_撤消的内容 若要多次重做emacs命令,请执行命令,然后键入C-xz,然后在z键上键入多次以重复该命令(当您想多次执行一个宏时很有趣)

Emacs 28添加了一个重做命令(称为撤消重做)。

如果您想要更典型的撤消/重做,可以使用以下命令。

(global-set-key (kbd "C-z") 'undo-only)
(global-set-key (kbd "C-S-z") 'undo-redo)

要访问此功能(也可以使用非线性历史记录,请参阅undo-fu,这是内置在undo中的emacs上的精简包装器)。

默认情况下,Emacs中的重做需要按C-g,然后撤销。

但是也可以使用Emacs内置的undo来实现重做命令。

undo-fu包使用Emacs内置的撤销功能来公开撤销和重做。


编辑,撤销fu现在已经集成到邪恶模式(如果你是一个邪恶模式的用户)。

例子:

(use-package undo-fu)
(use-package evil
  :init
  (setq evil-undo-system 'undo-fu))

小心重做时的撤销树怪癖!

许多流行的“入门套件”(prelude, purcell, spacemacs)都捆绑了撤销树。大多数(全部?)甚至自动启用它。如前所述,撤销树是可视化和遍历撤销/重做树的方便方法。前奏甚至给了它一个关键和弦(uu),还有c - xu。

问题是:undo-tree似乎破坏了Emacs默认的和众所周知的重做绑定:C-g C-/。

相反,你可以使用这些对称键来撤销/重做:

C-/     undo
C-S-/   redo

这些是有用的,因为有时你想快速重做而不打开可视化工具。

在末日emacs中, 按Ctrl + Shift + -取消 Alt + Shift + -重做