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-modedirettamente 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.emacsquesta funzione, ma non attiva ancora il segno, ma l'applicazione manualeC-x C-xsubito dopoC-insertripristina l'evidenziazione ...