5

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

我能想到的最好的是:

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

2 回答 2

32

您不会失去该地区。该区域仍处于拉环中。

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

于 2012-07-13T23:48:38.010 回答
1

您始终可以使用建议来获取您拥有的东西并将其包装起来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))))
于 2012-07-15T19:23:45.143 回答