如何使用ctrl + _等快捷方式在emacs中多次重做

时间:2014-03-27 15:24:04

标签: emacs undo-redo

我喜欢用ctrl + _多次撤消多次,但我似乎无法通过类似的快捷方式弄清楚如何重做多次支持。

另外,我似乎无法弄清楚如何一次跳过多条线。

2 个答案:

答案 0 :(得分:5)

Vanilla Emacs undo没有关联的重做。您可以在那里找到各种重做 - 例如,从EmacsWiki开始。

但是,您可能更喜欢像我们许多人一样,普通的Emacs撤消提供的东西。简而言之,它就像电影一样记录,这意味着如果你退出它(停止撤消),然后你再次开始撤消,你 撤消你刚解开的东西! 你可以来回"来回"像这样,就你而言。

你并没有真正前进(重做),但是:你只是不断撤消。并且 撤消 撤消与重做具有类似的效果。如果你走得太远,只需退出撤消并重新开始。 (点击任何其他键,例如RET,以退出撤消。)

另请参阅有关undo的各种Wiki页面,包括UndoTree

答案 1 :(得分:0)

  

我似乎无法弄清楚如何使用类似的快捷方式多次重做支持。

很抱歉,如果你知道这个......

您可以通过点击C-g一次将撤消切换为重做。所以它不是一个快捷键。行为不像普通的编辑器。但我认为这是重做的快捷方式。请参阅下面的行为。

Emacs撤消状态更改:

----example1------
time |typed |text
-----+------+-----
1    |      |''
2    |'a'   |'a'
3    |'b'   |'ab'
4    |'c'   |'abc'
5    |'d'   |'abcd'
6    |udno  |'abc'
7    |undo  |'ab'
8    |undo  |'a'
9    |undo  |''
10   |C-g   |''     <---switch
11   |undo  |'a'    <---redo!
12   |undo  |'ab'   <---redo!
13   |undo  |'abc'  <---redo!
14   |undo  |'abcd' <---redo!

----example2------
time |typed |text
-----+------+-----
1    |      |''
2    |'a'   |'a'
3    |'b'   |'ab'
4    |'c'   |'abc'
5    |'d'   |'abcd'
6    |udno  |'abc'
7    |undo  |'ab'
8    |undo  |'a'
9    |undo  |''
10   |C-g   |''    <---switch
11   |undo  |'a'   <---redo!
12   |undo  |'ab'  <---redo!
13   |'x'   |'abx' <---switch
14   |undo  |'ab'
15   |undo  |'a'
16   |C-g   |'a'   <---switch
17   |undo  |'ab'  <---redo!!
18   |undo  |'abx' <---redo!!