如何避免意外杀死emacs中的文本?

时间:2009-08-12 20:48:19

标签: emacs text-editor elisp

我有一个突出显示模式(忘记所谓的),通过突出显示文本,我在标记和点之间选择了哪个区域。杀死地区时非常方便。但是,有时候,即使没有明显突出显示的文字,但是我不小心按下了C-W,它仍会偶尔杀死一些文字。我的问题是如何阻止这种行为?如果我突出显示它,我只希望它能杀死文本。

4 个答案:

答案 0 :(得分:8)

定义自己的函数并覆盖键绑定:

(defun my-kill-region ()
  (interactive)
  (if (region-active-p)
      (call-interactively 'kill-region)
    (message "Region not active, didn't kill")))

(global-set-key (kbd "C-w") 'my-kill-region)

答案 1 :(得分:6)

M-x transient-mark-mode
即使在您开始输入之后,以及使用C-Space设置标记时,

也会保持区域突出显示。然后你会看到C-W会杀死什么。

答案 2 :(得分:6)

将变量mark-even-if-inactive设置为nil。这样,只有在文本实际突出显示时才能删除文本。

答案 3 :(得分:1)

在C-w之前按C-Space(set-mark-command)在光标位置设置标记,使标记和光标位置之间没有文本要杀死。