我对默认的 Mw 很满意,因为(kill-ring-save)
它在运行命令时会丢失该区域的突出显示。我不想改变它的行为,但我确实想重新绑定<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)
Run Code Online (Sandbox Code Playgroud)
使用:Ubuntu 10.04.3 中的 GNU Emacs 23.1.1
小智 8
运行kill-ring-save
不直接取消该商标,而只是将变量deactivate-mark
来t
为了做停用之后。为防止这种情况,deactivate-mark
请nil
在停用前重置为。
(defun kill-ring-save-keep-highlight (beg end)
"Keep the region active after the kill"
(interactive "r")
(prog1 (kill-ring-save beg end)
(setq deactivate-mark nil)))
(global-set-key (kbd "<C-insert>") 'kill-ring-save-keep-highlight)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1198 次 |
最近记录: |