当我在emacs中点击“撤消”时,它撤消了我的编辑,但是我丢失了所选区域,我必须返回并重新选择它。有没有办法绑定撤消,所以它将选择最后选择的区域
我能想到的最好的是:
(global-set-key (kbd "\C-o")
(lambda()
(interactive)
(progn (undo)
(exchange-point-and-mark)
)))
答案 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))))