/ / ลบคำโดยไม่เพิ่มลงใน kill-ring ใน Emacs - emacs, dot-emacs

ลบคำโดยไม่ต้องเพิ่มลงในวงแหวนฆ่าใน Emacs - emacs, dot-emacs

เมื่อเปลี่ยนไฟล์โดยใช้ minibuffer (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)

เพิ่มความคิดเห็น