【发布时间】:2015-01-04 13:23:23
【问题描述】:
Emacs 的 Delete-selection-mode 感觉很现代,很容易无意中删除代码。因此,我希望它默认禁用。因此,我添加了
(delete-selection-mode f)
到我的 init.el 文件,但这没有效果。我的意思是,如果我突出显示一个区域并输入某些内容,则选择的内容将替换为新的输入内容。我还尝试使用M-x delete-selection-mode 命令切换模式,但没有效果。我在 Windows7、Mac 和 Linux 上使用 Emacs 24.1.1。我错过了什么,我应该启用其他模式或变量吗?
【问题讨论】:
-
如果您对 Emacs Lisp 不是很熟悉,请尝试使用
M-x customize进行自定义。 -
我不认为
delete-selection-mode默认启用,这意味着在您添加它的过程中的某个地方 - 例如,通过安装启用它的第三方库。一般来说,次要模式用正整数启用,用负整数禁用——例如,(name-of-minor-mode -1)禁用,(name-of-minor-mode 1)启用。在禁用它之前,您应该非常努力地找出它是在哪里启用的,然后删除或注释掉那行代码。 -
更新:事实证明,启用 CUA 模式会启用删除选择行为。我将进一步调查。
-
我需要添加
(cua-delete-selection nil)。感谢您的提示,法律列表。 -
蝙蝠:请注意,尽管
t是“真”的规范 lisp 符号,但 不是f表示“假”的情况!nil是唯一的“假”值,所有个非零值(包括f,如果它被绑定到一个非零值)被认为是“真”。