Estoy bastante contento con el Mw predeterminado (kill-ring-save)
que pierde el resaltado de la región al ejecutar el comando. No quiero alterar su comportamiento, pero sí quiero volver a vincular <C-insert>
para realizar una acción similar y mantener el resaltado de la región.
He intentado (des) configurar transient-mark-mode
directamente y a través de una función, pero la región aún pierde su resaltado.
Ejecutar solo (kill-ring-save (region-beginning) (region-end))
en una función interactiva funciona como se esperaba, es decir. pierde el resaltado.
Ejecutar solo (exchange-point-and-mark) (exchange-point-and-mark)
en una función interactiva funciona como se esperaba, es decir. vuelve a resaltar la región y pone / deja el punto en su lugar original / correcto.
Sin embargo, cuando los pongo todos juntos en una función, no vuelve a resaltar la región. Aquí está la función y el enlace que no funcionan:
(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)
Usando: GNU Emacs 23.1.1 en Ubuntu 10.04.3
activate-mark
, pero todavía no funciona. Incluso instalé una máquina virtual de pizarra limpia de Ubuntu 11.04 con el único código que.emacs
es esta función, pero todavía no activa la marca, pero la aplicación manualC-x C-x
inmediatamente despuésC-insert
restablece el resaltado ...emacs -q
con el código y verificar si funciona.~/.emacs
y sin nada en~/.emacs.d/
, y como se mencionó, también en una nueva instalación de emacs en una nueva máquina virtual ... Ahora he probado este comando, pero tampoco funciona:/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))'
... ¿Funciona la función para usted?