7

我想通过 yank 覆盖文本,如下所示。有没有办法做到这一点?

杀戒:

text-i-want-to-paste

前:

abcdefghijklmnopqrstuvwxyz
^
corsor

后:

text-i-want-to-pasteuvwxyz

谢谢。

4

3 回答 3

7

打开delete-selection-mode。然后选择要替换的文本。然后打C-ydelete-selection-mode启用后,您只需键入以替换选定的文本,这在 Emacs 之外很常见。并且C-y还替换它。

于 2014-02-27T17:02:29.050 回答
6

你也可以使用defadvice。然后这只会在覆盖模式打开时起作用:

(defadvice yank (before yank-if-overwrite)
  (if (bound-and-true-p overwrite-mode)
      (delete-char (length (current-kill 0))))
  )
(ad-activate 'yank)
于 2014-07-15T17:12:07.483 回答
5

这里:

(defun crazy-yank ()
  (interactive)
  (delete-char (length (current-kill 0)))
  (yank))

(global-set-key (kbd "C-M-y") 'crazy-yank)
于 2014-02-27T16:17:43.427 回答