如何回忆在emacs中选择的最后一个区域?

时间:2012-07-13 19:11:40

标签: emacs

当我在emacs中点击“撤消”时,它撤消了我的编辑,但是我丢失了所选区域,我必须返回并重新选择它。有没有办法绑定撤消,所以它将选择最后选择的区域

我能想到的最好的是:

(global-set-key (kbd "\C-o")
                (lambda()
                  (interactive)
                  (progn (undo)
                          (exchange-point-and-mark)
                          )))

2 个答案:

答案 0 :(得分:27)

你不会失去这个地区。该地区仍处于猛烈的环境中。

如果你想重新选择它,你可以简单地调用exchange-point-and-mark,它默认绑定到 C-x C-x

答案 1 :(得分:1)

您始终可以使用advice获取所拥有的内容并将其包裹在undo内:

(defadvice undo (around reactivate-mark (&optional arg) activate)
  (let ((ma mark-active))
    ad-do-it
    ;; Reactiveate mark if it was active
    (when ma
      (exchange-point-and-mark))))