Sono abbastanza contento del valore predefinito Mw (kill-ring-save)
che perde l'evidenziazione della regione quando si esegue il comando. Non voglio alterare il suo comportamento, ma voglio rilegare <C-insert>
per eseguire un'azione simile e mantenere l'evidenziazione della regione.
Ho provato a (annullare) l'impostazione transient-mark-mode
direttamente e tramite una funzione, ma la regione perde ancora l'evidenziazione.
L'esecuzione solo (kill-ring-save (region-beginning) (region-end))
in una funzione interattiva funziona come previsto, ad es. perde l'evidenziazione.
L'esecuzione solo (exchange-point-and-mark) (exchange-point-and-mark)
in una funzione interattiva funziona come previsto, ad es. evidenzia nuovamente la regione e mette / lascia il punto nella sua posizione originale / corretta.
Tuttavia, quando li metto tutti insieme in una funzione, non ri-evidenzia la regione. Ecco una funzione non funzionante e vincolante:
(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)
Utilizzando: GNU Emacs 23.1.1 in Ubuntu 10.04.3
activate-mark
, ma non funziona ancora. Ho persino installato una VM pulita di Ubuntu 11.04 con l'unico codice in.emacs
questa funzione, ma non attiva ancora il segno, ma l'applicazione manualeC-x C-x
subito dopoC-insert
ripristina l'evidenziazione ...