이맥스에서 "실행 취소"를 누르면 내 편집이 취소되지만 선택한 영역을 잃어 버리고 다시 돌아와서 다시 선택해야합니다.이맥스에서 선택된 마지막 영역을 어떻게 불러 낼 수 있습니까?
(global-set-key (kbd "\C-o")
(lambda()
(interactive)
(progn (undo)
(exchange-point-and-mark)
)))
이맥스에서 "실행 취소"를 누르면 내 편집이 취소되지만 선택한 영역을 잃어 버리고 다시 돌아와서 다시 선택해야합니다.이맥스에서 선택된 마지막 영역을 어떻게 불러 낼 수 있습니까?
(global-set-key (kbd "\C-o")
(lambda()
(interactive)
(progn (undo)
(exchange-point-and-mark)
)))
당신은 항상 당신이 무엇을 가지고 주위 undo
을 포장 advice를 사용할 수 있습니다
(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))))
당신은이 지역을 잃지 말고 : 내가 가지고 올 수있는 최선이었다가 마지막으로 선택한 지역
을 선택합니다 있도록 실행 취소 결합하는 방법입니다. 이 지역은 턱걸이 (yank-ring)에 남아 있습니다.
당신이 그것을 다시 선택하려면, 당신은 단순히 C-XC-X 기본적으로 바인딩 exchange-point-and-mark
를 호출 할 수 있습니다.
당신은 같은 글로벌 테스트 변수를 삽입해야 '취소 - 말 - 지역-P'(또는 훅 전화) 조언이 전역 적으로 기능을 확장하고 일부 모드에서 아마도이 동작 등을 원하지 않기 때문에이 advice 내부에서 이것은 선택적이다. – alinsoar