Skip to content

Instantly share code, notes, and snippets.

@jidaikobo-shibata
Created June 7, 2017 09:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jidaikobo-shibata/94f27670afed23696c6a2d0774982b01 to your computer and use it in GitHub Desktop.
Save jidaikobo-shibata/94f27670afed23696c6a2d0774982b01 to your computer and use it in GitHub Desktop.
Emacs(Elisp): Preserve region when kill. 他のエディタだと選択範囲を作った後コピーしても選択範囲が解除されないが、Emacsは解除されちゃう。1年以上使っていてもどうしてもこれには慣れることができなかったので、選択範囲をキープするように変更。
;;; ------------------------------------------------------------
;;; やっぱりキル時にリージョンを残したい……。
;; gist-description: Emacs(Elisp): Preserve region when kill. 他のエディタだと選択範囲を作った後コピーしても選択範囲が解除されないが、Emacsは解除されちゃう。1年以上使っていてもどうしてもこれには慣れることができなかったので、選択範囲をキープするように変更。
;; gist-id:
;; gist-name: preserve-region-when-kill.el
;; gist-private: nil
(defun f--around--cua-copy-region (cua-copy-region arg)
"Keep Region at kill. CUA-COPY-REGION, ARG."
(let ((beg (region-beginning))
(end (region-end)))
(funcall cua-copy-region arg)
(goto-char beg)
(message "%s" beg)
(set-mark (point))
(goto-char end)
(setq deactivate-mark nil)))
(advice-add 'cua-copy-region :around 'f--around--cua-copy-region)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment