Saya cukup senang dengan Mw default (kill-ring-save)
yang kehilangan sorotan wilayah saat menjalankan perintah. Saya tidak ingin mengubah perilakunya, tetapi saya ingin mengikat kembali <C-insert>
untuk melakukan tindakan serupa dan mempertahankan penyorotan wilayah tersebut.
Saya sudah mencoba (un) mengatur transient-mark-mode
secara langsung dan melalui suatu fungsi, tetapi wilayah tersebut masih kehilangan sorotannya.
Berjalan hanya (kill-ring-save (region-beginning) (region-end))
dalam fungsi interaktif berfungsi seperti yang diharapkan, yaitu. kehilangan sorotan.
Berjalan hanya (exchange-point-and-mark) (exchange-point-and-mark)
dalam fungsi interaktif berfungsi seperti yang diharapkan, yaitu. itu menyoroti kembali wilayah dan menempatkan / meninggalkan titik di tempat aslinya / benar.
Namun ketika saya menempatkan mereka semua bersama-sama dalam suatu fungsi, itu tidak kembali menyoroti wilayah tersebut. Berikut adalah fungsi dan pengikatan yang tidak berfungsi:
(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)
Menggunakan: GNU Emacs 23.1.1 di Ubuntu 10.04.3
activate-mark
, tetapi masih tidak berhasil. Saya bahkan memasang VM clean-slate dari Ubuntu 11.04 dengan satu-satunya kode.emacs
untuk fungsi ini, tetapi masih belum mengaktifkan tanda, namun secara manual menerapkanC-x C-x
segera setelahC-insert
mengembalikan kembali penyorotan ...emacs -q
dengan kode dan periksa untuk melihat apakah itu berfungsi.~/.emacs
dan tanpa apa pun di dalamnya~/.emacs.d/
, dan seperti yang disebutkan, juga dalam instalasi emacs baru dalam VM baru .... Saya sekarang sudah mencoba perintah ini, tetapi itu juga tidak berfungsi:/usr/bin/emacs --no-init-file --no-site-file --eval '(defun kill-ring-save-keep-highlight (beg end) (interactive "r") (kill-ring-save beg end) (activate-mark))'
... Apakah fungsinya bekerja untukmu?