Emacs - 多行搜索

在 Emacs 中是否有一个模块可以进行多行搜索?

我用过 greppt 和现在的 ag,它们都很棒。但有时在探索代码库时,您会搜索多行内容(因此一无所获),但将搜索减少到更少的单词会产生很多结果。

有没有办法在整个项目的 Emacs 中进行多行搜索?

最佳答案

当然有。有多种方式。

您没有说明您正在尝试进行哪种搜索:单个文件?多个缓冲区?正则表达式?您需要固定的搜索结果列表还是增量搜索?


这是一个简单的答案:

  1. 在 Dired 缓冲区中,标记一些您要搜索的文件,然后点击 A

  2. 键入要匹配的正则表达式。使用 C-q C-j 输入换行符进行匹配。点击 RET 以输入正则表达式。

搜索标记的文件,依次在每次搜索命中时停止。使用 M-, 转到下一个命中等。

例如,要搜索变量定义的文档字符串,使用此正则表达式或类似的搜索:

Search marked files (regexp): (defvar.*
.*"Non-nil

在第一个 .* 之后有一个换行符,您可以使用 C-q C-j 输入。


在 Emacs 中还有很多其他的搜索方式。 开始的最佳位置是Search and Replace Emacs Wiki 的类别。在那里,您可以找到按主要特征分割和描述的搜索方法。

https://stackoverflow.com/questions/33025333/

相关文章:

wpf - 更改 UIElement 的角度

numpy - numpy 中有 elliptictheta 函数吗?

php - 如何使用 FDI/FPDF 从 PDF 中删除文本

c++11 - 将 char16_t 转换为 long/integer,(相当于 atoi/atol

cmake - 如何编写功能测试脚本在cmake/ctest下运行

codeigniter - 从数据库下载文件或在 codeigniter 中保存文件夹

time - NetLogo 时间扩展 : Plotting graphs does not wor

cross-compiling - Clang++ 无法找到任何 stdlib header

c# - 如何知道壁虎浏览器是否完成加载网页?

elixir - 左外连接与 Elixir 的理解