Emacs - 多行搜索

时间:2015-10-08 20:25:17

标签: emacs full-text-search

是否有在Emacs中进行多行搜索的模块?

我使用过greppt和现在ag,他们很棒。但有时在探索代码库时,您会搜索多行中的内容(因此无法获得任何内容),但将搜索减少到较少的单词会产生大量结果。

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

2 个答案:

答案 0 :(得分:2)

当然有。有多种方式。

你没有说你想要做什么样的搜索:单个文件?多个缓冲区?正则表达式?您是否需要固定的搜索命中列表或者您想要增量搜索?

这是一个简单的答案:

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

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

  3. 搜索已标记的文件,依次停止每次搜索。使用M-,转到下一个匹配等

    例如,要搜索变量定义的doc字符串,请使用此regexp或类似字符进行搜索:

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

    在您使用.*输入的第一个C-q C-j后面有换行符。

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

答案 1 :(得分:0)

我现在使用helm-swoop,这完全符合我的工作流程。