Estou feliz o suficiente com o Mw padrão, (kill-ring-save)
que perde o destaque da região ao executar o comando. Não quero alterar seu comportamento, mas quero voltar a ligar <C-insert>
para executar uma ação semelhante e manter o destaque da região.
Eu tentei (des) configurar transient-mark-mode
diretamente e através de uma função, mas a região ainda perde seu destaque.
A execução apenas (kill-ring-save (region-beginning) (region-end))
em uma função interativa funciona conforme o esperado, ou seja. perde destaque.
A execução apenas (exchange-point-and-mark) (exchange-point-and-mark)
em uma função interativa funciona conforme o esperado, ou seja. destaca novamente a região e coloca / deixa o ponto em seu local original / correto.
No entanto, quando eu colocá-los todos juntos em uma função, ele não re-destacar a região. Aqui está a função que não funciona e a ligação:
(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 no Ubuntu 10.04.3
activate-mark
, mas ainda não funciona. Eu até instalei uma VM limpa do slate do Ubuntu 11.04 com o único código.emacs
dessa função, mas ainda não ativa a marca, mas a aplicação manualC-x C-x
imediatamente apósC-insert
a restauração do realce ...emacs -q
o código e verifique se funciona.~/.emacs
e sem nada~/.emacs.d/
, e, como mencionado, também em uma instalação totalmente nova do emacs em uma nova VM ... Eu já tentei esse comando, mas também não 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))'
... A função funciona para você?