Удалите слово, не добавляя его в kill-ring в Emacs

При переключении файлов с помощью минибуфера (C-x C-f) я часто использую M-Backspace для удаления слов в пути. Emacs автоматически помещает то, что я удаляю в кольцо убийства. Это может раздражать, поскольку когда-то я перехожу к другому файлу, чтобы вставить что-то, и в итоге я вставляю часть пути к файлу. Я знаю, что есть обходные пути, а другой код по-прежнему находится в кольце kill и т.д., Но я просто хотел бы отключить эту функциональность.

Ответ 1

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 к backward-delete-word в minibuffer-local-map:

(define-key minibuffer-local-map [M-backspace] 'backward-delete-word)