(kill-ring-save)
コマンドを実行するとリージョンの強調表示が失われるデフォルトのMwで十分満足です。その動作を変更したくありませんが、再バインド<C-insert>
して同様のアクションを実行し、領域の強調表示を維持したいと思います。
transient-mark-mode
直接および関数を介して(設定を解除して)設定を試みましたが、領域はまだ強調表示を失っています。
(kill-ring-save (region-beginning) (region-end))
インタラクティブ機能でのみ実行すると、期待どおりに機能します。強調表示が失われます。
(exchange-point-and-mark) (exchange-point-and-mark)
インタラクティブ機能でのみ実行すると、期待どおりに機能します。リージョンを再度ハイライトし、ポイントを元の/正しい場所に配置/離脱します。
ただし、それらを関数にまとめると、領域が再び強調表示されません。次に、機能しない関数とバインディングを示します。
(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)
使用:Ubuntu 10.04.3のGNU Emacs 23.1.1
activate-mark
が、それでも機能しません。私.emacs
はこの機能である唯一のコードでUbuntu 11.04の白紙のVMをインストールしましたが、それでもマークはアクティブになりませんが、C-x C-x
直後に手動で適用C-insert
すると強調表示が元に戻ります...