Emacs 批量搜索替换:从场景到命令

💡 原文中文,约4500字,阅读约需11分钟。
📝

内容提要

本文介绍了 Emacs 中的批量搜索和替换命令,包括 rgrep、find-grep-dired 和 project-find-regexp 等,适用于搜索目录、项目及标记文件。强调在使用前需备份文件,并提供了速查表以便快速查找命令。

🎯

关键要点

  • Emacs 提供多种批量搜索和替换命令,适用于不同场景。
  • 使用前需备份文件,以防替换错误导致数据丢失。
  • Emacs 中有两种正则语法:grep regexp 和 Emacs regexp,需根据命令选择使用。
  • rgrep 是在目录中搜索的标准命令,结果展示在 *grep* buffer 中。
  • find-grep-dired 允许在 Dired buffer 中查看搜索结果,便于批量操作。
  • project-find-regexp 和 project-query-replace-regexp 用于在项目范围内搜索和替换。
  • Dired 和 IBuffer 提供灵活的搜索和替换功能,可以在标记的文件或 buffer 中操作。
  • tags-search 和 xref 相关命令基于代码语义进行搜索和替换,适合有 TAGS 或 LSP 支持的项目。
  • 速查表提供了不同场景下的命令和正则类型,便于快速查找。

延伸问答

Emacs 中有哪些批量搜索和替换的命令?

Emacs 中的批量搜索和替换命令包括 rgrep、find-grep-dired、project-find-regexp 和 project-query-replace-regexp 等。

使用 Emacs 进行批量替换前需要注意什么?

在使用 Emacs 进行批量替换前,需备份文件,以防替换错误导致数据丢失。

Emacs 中的正则语法有哪些区别?

Emacs 中有两种正则语法:grep regexp 调用外部 grep 程序,Emacs regexp 使用 Emacs 自己的正则引擎,二者的转义规则不同。

如何在 Dired 中批量搜索文件?

在 Dired 中,可以使用 dired-do-find-regexp 命令对标记的文件进行批量搜索,结果展示在 *grep* buffer 中。

Emacs 如何在项目范围内进行搜索和替换?

可以使用 project-find-regexp 进行项目范围内的搜索,使用 project-query-replace-regexp 进行逐一替换。

如何在 IBuffer 中进行搜索和替换?

在 IBuffer 中,可以使用 ibuffer-do-isearch 进行递增搜索,使用 ibuffer-do-query-replace 进行逐一替换。

🏷️

标签

➡️

继续阅读