什么';EMACS在文件模式下的最佳查找是什么?
在EMACS中查找多个文件中的字符串的最佳包是什么。我知道grep之类的东西,但我希望操作起来更流畅一些。Emacs中有三个内置的grep函数:grep、find grep(或grep find)和rgrep 前两种方法是让用户直接编辑grep命令行。 我通常使用“递归grep”中的第三个rgrep。它更友好一些,因为它一个接一个地提示用户输入搜索参数(搜索字符串、文件类型和目录),提供可自定义的默认值,并且它自动忽略一些通常不想搜索的常见文件和目录,例如.svn或.o文件什么';EMACS在文件模式下的最佳查找是什么?,emacs,Emacs,在EMACS中查找多个文件中的字符串的最佳包是什么。我知道grep之类的东西,但我希望操作起来更流畅一些。Emacs中有三个内置的grep函数:grep、find grep(或grep find)和rgrep 前两种方法是让用户直接编辑grep命令行。 我通常使用“递归grep”中的第三个rgrep。它更友好一些,因为它一个接一个地提示用户输入搜索参数(搜索字符串、文件类型和目录),提供可自定义的默认值,并且它自动忽略一些通常不想搜索的常见文件和目录,例如.svn或.o文件 然后,还有Emacs
然后,还有Emacs:,它的默认行为类似于rgrep,但可以自定义以使用ack提供的选项。以防万一您还没有读过它-EmacsWiki页面上有很多相关提示 Dired模式还允许您使用
Dired do search
功能搜索标记文件
而且
ibuffer
允许您使用笨拙的键序列M-s a C-s
通过一组缓冲区执行emacs的通用isearch。作为替代方法,我发现dired模式
很有用,尤其是与dired mark files regexp
一起使用时(%M)或dired标记包含regexp的文件
,以选择应搜索的内容,然后dired do search
(A) 取决于查找字符串的含义。正如其他人所提到的,grep
非常擅长它所做的事情。我每天都在用它
但是,如果你的“字符串”是一个句子中的一系列单词(可以是多行),那么grep
可能不是你想要的
另一个跨多个文件或缓冲区(或书签)搜索的工具是ICICICLES搜索。一般的想法是,它首先根据某种定义(例如regexp)将文件解析为搜索上下文,然后搜索与当前微缓冲区输入匹配的内容(在编辑输入时动态更改搜索命中率)
而grep
总是使用行作为搜索上下文,而冰柱搜索并不局限于如何定义要搜索的上下文。上下文不需要对文件进行分区(耗尽);它们可以覆盖任意多或少的文件文本
在其他可能性中,您可以使用Emacs thing at point定义作为各种类型的搜索上下文。例如,您可以使用命令冰柱搜索事物
,将句子
作为事物类型,使用句子作为搜索上下文
或者您可以使用字符属性区域作为搜索上下文:例如,搜索使用给定的一组面锁定字体的所有区域。有很多可能性
我是rgrep的忠实粉丝——它的使用令人惊讶地简单。似乎grep模式是最好的选择,我想我只是需要快速推出elisp,让它达到我想要的效果;)