我倾向于在整个缓冲区而不是在当前位置使用 query-replace-regexp,所以我经常使用序列 C-<(缓冲区开始),然后是 Cr(query-replace-repexp)。
我想为我创建另一个绑定到 CSr (CR) 的函数。我想如果我简单地将它们包装在一起,例如:
(defun query-replace-regexp-whole-buffer ()
"query-replace-regexp from the beginning of the buffer."
(interactive)
(beginning-of-buffer)
(query-replace-regexp))
不幸的是,尽管我遇到了一些错误,但这已经足够了。
query-replace-regexp-whole-buffer: Wrong number of arguments: #[(regexp to-string &optional delimited start end) "Å Æ
Ç& " [regexp to-string delimited start end perform-replace t nil] 10 1940879 (let ((common (query-replace-read-args (concat "Query replace" (if current-prefix-arg " word" "") " regexp" (if (and transient-mark-mode mark-active) " in region" "")) t))) (list (nth 0 common) (nth 1 common) (nth 2 common) (if (and transient-mark-mode mark-active) (region-beginning)) (if (and transient-mark-mode mark-active) (region-end))))], 0
我真的看不出我做错了什么,希望有人能提供帮助。