什么是最好的EMACS文件模式?

时间:2010-05-21 18:00:07

标签: emacs

在EMACS中查找多个文件中的字符串的最佳软件包是什么。我知道grep等等,但我想要一些更顺畅的操作。

5 个答案:

答案 0 :(得分:7)

在Emacs中有三个用于grepping的内置函数:grep,find-grep(或grep-find)和rgrep。

前两个工作是让用户直接编辑grep命令行。 我通常使用“递归grep”中的第三个rgrep。它更友好一点,因为它一个接一个地提示用户搜索参数(搜索字符串,文件类型和目录),提供可自定义的默认值,它会自动忽略一些你通常不想搜索的常见文件和目录,比如例如.svn或.o文件。

然后,有ack及其Emacs接口:ack.el,其默认行为类似于rgrep,但可以自定义以使用ack提供的选项。

答案 1 :(得分:2)

万一你还没有阅读过 - 在EmacsWiki GrepMode页面上有很多相关提示。

答案 2 :(得分:0)

Dired模式还允许您使用dired-do-search功能搜索标记的文件。

ibuffer允许你使用笨拙的密钥序列M-s a C-s通过一堆缓冲区来执行emacs'通用isearch。

答案 3 :(得分:0)

作为替代方案,我发现dired-mode很有帮助,尤其是与dired-mark-files-regexp%m )或dired-mark-files-containing-regexp一起使用时,可以选择要搜索的内容和然后dired-do-search A )。

答案 4 :(得分:0)

通过查找字符串来取决于您的意思。正如其他人所提到的,grep非常擅长它的作用。我每天都在使用它。

但是,如果你的“字符串”是句子中的一系列单词(可以是多行),那么grep可能就不是你想要的。

搜索多个文件或缓冲区(或书签)的另一个工具是 Icicles 搜索。一般的想法是,它首先根据某些定义(例如正则表达式)将文件解析为搜索上下文,然后搜索与当前迷你缓冲区输入的匹配(在编辑时动态更改搜索命中)你的意见。

尽管grep始终使用行作为搜索上下文,但使用 Icicles 搜索,您不必限定如何定义要搜索的上下文。上下文不需要分区(耗尽)文件;它们可以根据需要覆盖文件文本的大小。

在其他可能性中,您可以将各种THING的Emacs thing-at-point 定义用作搜索上下文。例如,您可以使用icicles-search-thing命令sentence作为THING类型,将句子用作搜索上下文。

或者您可以将字符属性区域用作搜索上下文:例如,搜索所有使用给定面集进行字体锁定的区域。有很多种可能性。

http://www.emacswiki.org/emacs/Icicles_-_Search_Commands%2c_Overview