gpt4 book ai didi

Emacs 文件集 : how to run other (elisp, 不是 shell) 命令?

转载 作者:行者123 更新时间:2023-12-01 10:28:35 26 4
gpt4 key购买 nike

有 5 个 Elisp 命令可以在 Emacs 文件集上运行,此外还可以运行任何 shell 命令。那么所有其他 Emacs 命令呢?仅举一个例子,如果能够在文件集上运行 M-x occur 就好了。

我知道可以在 dired 中标记多个文件,然后在它们上运行任何 Emacs 命令(这是真的吗,还是我与 shell 命令混淆了?),但是一次定义文件集然后再定义文件集会非常方便能够像使用单个文件一样使用它来进行各种文本编辑。

谢谢你的建议

最佳答案

可对文件集进行操作的命令在全局自定义变量“filesets-commands”中指定。您可以将自己的命令添加到该列表中。此变量的默认值为:

("Isearch" multi-isearch-files
(filesets-cmd-isearch-getargs))
("Isearch (regexp)" multi-isearch-files-regexp
(filesets-cmd-isearch-getargs))
("Query Replace" perform-replace
(filesets-cmd-query-replace-getargs))
("Query Replace (regexp)" perform-replace
(filesets-cmd-query-replace-regexp-getargs))
("Grep <<selection>>" "grep"
("-n " filesets-get-quoted-selection " " "<<file-name>>"))
("Run Shell Command" filesets-cmd-shell-command
(filesets-cmd-shell-command-getargs)))

值由名称、函数和要在文件集的文件上运行的参数列表(或返回一个的函数)的关联列表组成。因此,如果您想添加一个对文件集执行“发生”命令的命令,您可以使用“Isearch”条目作为示例来创建您自己的新条目(您将添加到“filesets-commands”全局变量)看起来像:

 ("Occur (regexp)" multi-occur-files-regexp
(filesets-cmd-occur-getargs))

您需要编写“multi-occur-files-regexp”和“filesets-cmd-occur-getargs”函数(您可以使用现有的“multi-isearch-files-regexp”和“filesets-cmd- isearch-getargs”作为基础,因为它们是相似的)。这同样适用于您想要添加以处理文件集的任何其他 Emacs 命令。

关于Emacs 文件集 : how to run other (elisp, 不是 shell) 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7071915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com