我写了一个新版本的“zap-to-char”。它只是突出了区域而不是杀死它。我认为这会更灵活,因为我们可以选择杀死,复制,或者只是去看看炭。
以下是摘录:
(defun new-zap-to-char (arg char)
(interactive "p\ncZap to char: ")
(push-mark)
(setq mark-active t)
(defun iter-zap ()
(if (< arg 0)
(search-forward (char-to-string char) nil nil -1)
(search-forward (char-to-string char) nil nil 1))
(if (char-equal char (setq c (read-char)))
(iter-zap)
(>>>>here is the "push-back-to-input" function"<<<<))
(iter-zap))
如您所见,当您输入除“char”之外的输入时,我需要一个函数将'read-char'的结果推回输入。但我不知道Emacs是否提供了一个。所以我需要你的帮助。
我希望我已经说清楚了。
答案 0 :(得分:4)
您可以尝试unread-command-events
。
例如:
(push ?a unread-command-events)