删除单词而不将其添加到Emacs中的kill-ring

dre*_*obb 12 emacs dot-emacs

使用迷你缓冲区(Cx Cf)切换文件时,我经常使用M-Backspace来删除路径中的单词.Emacs会自动将我删除的内容放入kill ring中.这可能很烦人,因为有时我正在移动到另一个文件来粘贴东西,我最终粘贴了部分文件路径.我知道有解决方法,其他代码仍然在kill ring等,但我只是想禁用此功能.

cjm*_*cjm 17

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))))
Run Code Online (Sandbox Code Playgroud)

然后你就可以M-Backspace键绑定到backward-delete-wordminibuffer-local-map:

(define-key minibuffer-local-map [M-backspace] 'backward-delete-word)
Run Code Online (Sandbox Code Playgroud)