如何解决删除一个单词而不将其添加到Emacs的kill-ring中
|| 使用小型缓冲区(C-x C-f)切换文件时,我经常使用M-Backspace删除路径中的单词。 Emacs会自动将我删除的内容放入kill ring。这可能很烦人,因为有时我要移至另一个文件以粘贴某些内容,最后我会粘贴文件路径的一部分。我知道有解决方法,其他代码仍在kill ring中,等等,但是我只想禁用此功能。解决方法
Emacs没有
backward-delete-word
函数,但是定义一个很容易:
(defun backward-delete-word (arg)
\"Delete characters backward until encountering the beginning of a word.
With argument ARG,do this that many times.\"
(interactive \"p\")
(delete-region (point) (progn (backward-word arg) (point))))
然后可以将M-Backspace绑定到minibuffer-local-map
中的backward-delete-word
:
(define-key minibuffer-local-map [M-backspace] \'backward-delete-word)
,在ѭ5处看到有关此主题的讨论:
http://lists.gnu.org/archive/html/help-gnu-emacs/2011-10/msg00277.html
讨论归结为以下简短解决方案:
(add-hook \'minibuffer-setup-hook\'
(lambda ()
(make-local-variable \'kill-ring)))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。