【问题标题】:How to overwrite text by yank in Emacs?如何在 Emacs 中通过 yank 覆盖文本?
【发布时间】:2014-03-31 05:06:50
【问题描述】:

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

杀戒:

text-i-want-to-paste

之前:

abcdefghijklmnopqrstuvwxyz
^
corsor

之后:

text-i-want-to-pasteuvwxyz

谢谢。

【问题讨论】:

    标签: emacs overwrite yank


    【解决方案1】:

    您也可以使用 defadvice。那么这只会在覆盖模式打开时起作用:

    (defadvice yank (before yank-if-overwrite)
      (if (bound-and-true-p overwrite-mode)
          (delete-char (length (current-kill 0))))
      )
    (ad-activate 'yank)
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        这里:

        (defun crazy-yank ()
          (interactive)
          (delete-char (length (current-kill 0)))
          (yank))
        
        (global-set-key (kbd "C-M-y") 'crazy-yank)
        

        【讨论】:

          猜你喜欢
          • 2012-11-11
          • 1970-01-01
          • 1970-01-01
          • 2021-06-26
          • 2011-06-29
          • 2014-01-08
          • 2013-11-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多