Emacs-多行搜索
在Emacs中是否有多行搜索模块 我曾经用过Emacs-多行搜索,emacs,full-text-search,Emacs,Full Text Search,在Emacs中是否有多行搜索模块 我曾经用过grep,pt,现在又用过ag,它们都很棒。但有时在探索代码库时,您会搜索多行上的内容(因此一无所获),但将搜索减少到较少的单词会产生大量结果 有没有一种方法可以在整个项目的Emacs中进行多行搜索?当然有。有多种方法 你没有说你想做什么样的搜索:单个文件?多缓冲区?regexp?您需要固定的搜索点击列表还是需要增量搜索 这里有一个简单的答案: 在Dired缓冲区中,标记一些要搜索的文件,然后点击a 键入要匹配的regexp。使用C-q C-j输入要
grep
,pt
,现在又用过ag
,它们都很棒。但有时在探索代码库时,您会搜索多行上的内容(因此一无所获),但将搜索减少到较少的单词会产生大量结果
有没有一种方法可以在整个项目的Emacs中进行多行搜索?当然有。有多种方法 你没有说你想做什么样的搜索:单个文件?多缓冲区?regexp?您需要固定的搜索点击列表还是需要增量搜索
这里有一个简单的答案:
a
C-q C-j
输入要匹配的换行符。点击RET
输入regexpM-,
转到下一次点击,等等
例如,要搜索变量定义的文档字符串,请使用此regexp或类似工具进行搜索:
Search marked files (regexp): (defvar.*
.*"Non-nil
在第一个*
后面有一个换行字符,您可以使用C-qc-j
输入该字符
在Emacs中还有很多其他的搜索方法。开始的最佳位置是Emacs Wiki类别。在那里,您可以找到按主要特征分类并进行描述的搜索方法。我现在使用的,非常适合我的工作流程。谢谢您的回答。我编辑了我的问题:我正在搜索一个项目。我不需要正则表达式搜索。增量搜索更可取,因为它是用于探索的。关于插入换行符的相同技巧也适用于文本(即非regexp)搜索
M-s a C-s
(命令dired do isearch
)对标记的文件(例如“项目”)执行文字isearch。另请参见将一组文件定义为项目(代码库)的书签。有关定义、搜索等项目的更多信息,请参见EmacsWiki上的类别。这与问题无关。