如何在emacs中的所有打开缓冲区中替换字符串? 我在互联网上找到了这个,但选项'Y'一次性更改所有缓冲区都不起作用,我需要用'!'更改一个缓冲区的时间选项。
;; Query Replace in open Buffers
(defun query-replace-in-open-buffers (arg1 arg2)
"query-replace in open files"
(interactive "sQuery Replace in open Buffers: \nsquery with: ")
(mapcar
(lambda (x)
(find-file x)
(save-excursion
(beginning-of-buffer)
(query-replace arg1 arg2)))
(delq
nil
(mapcar
(lambda (x)
(buffer-file-name x))
(buffer-list)))))
答案 0 :(得分:1)
简单,只需使用multi-occur-in-matching-buffers
,然后按 e
为occur-edit-mode
。然后我猜query-replace
。用 C-c C-c 结束。并且不要忘记保存所有已更改的缓冲区。
答案 1 :(得分:0)
使用Icicles,在 Icicle 模式下使用C-u C-c '
。搜索您选择的子集
开放缓冲区(或所有缓冲区)。