如何在 emacs 中的文件集上使用 query-replace

如何在 emacs 中的文件集上使用 query-replace

Emacs 文档指出您可以在文件集上使用查询替换来对多个文件执行查找/替换。

这使您可以执行某些操作,例如一次对所有文件执行访问、查询替换和 shell 命令。

我已经打开了我的特定文件集(即通过 fileset-open)并尝试使用以下方法进行查询/替换:

M-%

M-x query-replace

但除了我当前所在的文件(缓冲区)之外,它无法在其他任何东西上工作。

答案1

为了对文件集中的所有文件运行命令,您必须使用函数filesets-run-cmd,并且命令应该是变量中指定的命令之一filesets-commands。具体来说,在您的例子中,您应该运行M-xfilesets-run-cmdQuery Replace

(filesets-run-cmd &optional CMD-NAME FILESET MODE)

在 FILESET 上运行 CMD-NAME(参见“filesets-commands”)。

filesets-commands

在文件集上运行的命令。要在文件集的文件上运行的名称、函数和参数列表(或返回一个参数的函数)的关联列表。

相关内容