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 に答える