/ / Изтрийте дума, без да я добавяте към убийството в Emacs - emacs, dot-emacs

Изтрийте една дума, без да я добавите към пръстена за убиване в Emacs - emacs, dot-emacs

При превключване на файлове с помощта на минибуфера (C-xC-f), често използвам M-Backspace, за да изтрия думи в пътя. Emacs автоматично поставя това, което изтривам, в пръстена за убиване. Това може да бъде досадно, тъй като някога се премествам в друг файл, за да поставям нещо, и в крайна сметка поставям част от пътя на файла. Знам, че има заобикалки, а другият код е все още в убийството и т.н., но аз просто бих искал да деактивирам тази функционалност.

Отговори:

17 за отговор № 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)

2 за отговор № 2

Вижте обсъждане на тази тема на help-gnu-emacs@gnu.org: http://lists.gnu.org/archive/html/help-gnu-emacs/2011-10/msg00277.html

Дискусията се свежда до това кратко решение:

(add-hook "minibuffer-setup-hook"
(lambda ()
(make-local-variable "kill-ring)))

Свързани въпроси


Коментари (0)

Добави коментар