如何配置删除选择模式只删除?(How configure delete-selection-mode

2019-10-31 16:23发布

我在Windows上使用GNU Emacs的22.3.1。

在我的Emacs我已经启用delete-selection-mode ,这是非常有用的,选择一个区域,并删除或更换。 但我有一个缺点。

当我写或按DEL在选择时,Emacs并不仅仅删除文本,但它杀死 (又名发送到剪贴板*)。 这对我来说是很讨厌,因为我没有我杀环(又名剪贴板)的控制,可能会导致意想不到的效果。

有一个办法delete-selection-mode不杀的文字,只是删除了吗? 也许修改的源代码 ?

(*:我已经同步杀环和Windows剪贴板,所以对我来说(出于实用的目的),这是相同的)


编辑[2009年6月24日]

谢谢,danielpoe。 即使杰克逊的三分球的思路的选择仍然在杀害。 我找到了原因。

我发现,这个问题是不是在delete-selection-mode 。 问题是,当我选择的区域,我用鼠标做到了。 而不会想到这是谁被复制文本的鼠标 。 使用set-mark命令和箭头键文本终于没有被杀死,只能删除。

我禁用这种行为在我的.emacs写这个:

(require 'delsel)
(setq mouse-drag-copy-region nil)
(global-unset-key (kbd "<mouse-2>"))
(global-unset-key (kbd "<mouse-3>"))

谢谢你的建议。 如果禁用此鼠标行为这种方法可能会导致其他选项冲突,请评论。

Answer 1:

你有没有试过启动emacs-Q 。 如果我这样做,只启用Mx: delete-selection-mode ,我无法重现你的描述。 没有被杀死只删除? 你能检查一下吗?



Answer 2:

它看起来好像你只需要修改源的一小部分,也就是使这种变化:

(defun delete-active-region (&optional killp)
  (delete-region (point) (mark))
  t)

原代码看了看论据killp和使用的,以决定是否将区域添加到杀环,你说你永远不希望出现这种情况。 这种变化迫使该地区总是被删除。

现在,您不需要实际修改源,只需将这个函数的定义后(require 'delsel)在你的.emacs(或后(delete-selection-mode) )。



文章来源: How configure delete-selection-mode to only delete?
标签: emacs editing