나는 (kill-ring-save)명령을 실행할 때 지역의 하이라이트를 잃는 기본 Mw에 만족 합니다. 나는 그 행동을 바꾸고 싶지 않지만 <C-insert>비슷한 행동을 수행하고 지역의 하이라이트를 유지하기 위해 리 바인드하고 싶습니다 .
transient-mark-mode직접 및 기능을 통해 설정을 시도했지만 (해제) 해당 지역은 여전히 강조 표시되지 않습니다.
(kill-ring-save (region-beginning) (region-end))대화식 기능 에서만 실행 하면 예상대로 작동합니다. 강조 표시를 잃습니다.
(exchange-point-and-mark) (exchange-point-and-mark)대화식 기능 에서만 실행 하면 예상대로 작동합니다. 영역을 다시 강조 표시하고 원래 / 올바른 위치에 지점을 둡니다.
그러나 그것들을 모두 함수 로 만들면 지역이 다시 강조 표시 되지 않습니다 . 작동하지 않는 기능과 바인딩은 다음과 같습니다.
(defun kill-ring-save-keep-highlight ()
(interactive)
(kill-ring-save (region-beginning) (region-end))
(exchange-point-and-mark) (exchange-point-and-mark)
)
(global-unset-key (kbd "<C-insert>"))
(global-set-key (kbd "<C-insert>") 'kill-ring-save-keep-highlight)
사용 : Ubuntu 10.04.3의 GNU Emacs 23.1.1
activate-mark하지만 여전히 작동하지 않습니다. 심지어이.emacs기능 의 유일한 코드로 Ubuntu 11.04의 클린 슬레이트 VM을 설치 했지만 여전히 마크를 활성화하지는 않지만 강조 표시를 복원 한C-x C-x직후에 수동으로 적용 합니다C-insert...