Emacs - 多行搜索

标签 emacs full-text-search

在 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 的类别。在那里,您可以找到按主要特征分割和描述的搜索方法。

关于Emacs - 多行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33025333/

相关文章:

emacs - 将缓冲区发送到 emacs 中的 repl

emacs - 组织模式删除线颜色

java - Emacs 枚举缩进

具有部分句子匹配的Django文本搜索

sql-server - SQL Server - 基于百分比的全文搜索

python - python中的 boolean 文本搜索

database - Elastic Search 作为持久数据库

emacs - 让 emacs 在 Mac 上按单词移动光标

emacs - 如何在 emacs 中 grep 光标下的当前单词?

mysql - 全文搜索生成错误结果