我想通过yank来覆盖文本,有没有办法做到这一点?
kill-ring:
kill-ring:
text-i-want-to-paste
之前:
abcdefghijklmnopqrstuvwxyz
^
corsor
之后:
text-i-want-to-pasteuvwxyz
打开delete-selection-mode
。然后选择要替换的文本。然后按下C-y
键。启用delete-selection-mode
后,您只需像在Emacs之外一样即可替换所选文本。同时,C-y
也会替换它。
你也可以使用defadvice。这将仅在overwrite-mode开启时起作用:
(defadvice yank (before yank-if-overwrite)
(if (bound-and-true-p overwrite-mode)
(delete-char (length (current-kill 0))))
)
(ad-activate 'yank)
这里:
(defun crazy-yank ()
(interactive)
(delete-char (length (current-kill 0)))
(yank))
(global-set-key (kbd "C-M-y") 'crazy-yank)