find grep dired 拒绝访问? 怎么在目录中检索文件内容?

image

我在项目的子文件夹中又四五个文件,我要只检索这几个文件中的 chest 单词,

image

这样的功能,只在指定目录中搜索

windows有一个find命令,看截图你应该是用了这个,emacs需要用linux版的find命令,目录中搜索文件名建议用 ffip ,目录中搜索文件的内容建议用 rg命令

我下载find for windows并配置进了环境变量。 发现个新问题,projectile ag projectile grep projectile好像被helm替换成了helm-grep helm-ag ,helm-ag有时可以搜索出结果,grep一般搜不到结果(等了几十秒无结果) 好像都会搜索 png之类的二进制文件,这个可以配置么,我项目中二进制文件很多,这样导致我搜索极慢几乎不可用

find-grep-dired牵涉到两个命令行程序,比较复杂。实战中用得不多。实际上搜索文本基于grep或类grep的命令行程序(grep, ag, rg …) 的插件对普通用户就够了。

grep插件选一个就够了,基于grep或其他工具都可以。直接使用原生插件,不必通过projectile间接调用,否则只有把自己搞糊涂。

如果你使用helm-grep, 那么可以设置helm-grep-ignored-fileshelm-grep-ignored-directories过滤文件和目录(helm/helm-grep.el at 6662f731d36fe6dd3b27618b2fbb44aa5736e168 · emacs-helm/helm · GitHub)

我也不用helm, 但是对常用的文本文件命令行工具比较熟悉,搜一下很快就找到helm的设置选项了。

如果用其他插件,类似选项网上搜一下都能很快找到。

建议看一下比较现代的emacs视频教程,并熟悉一下常用的文本文件命令行工具。优秀的Emacs免费视频教程 - 知乎

视频很全面,一直找文档,还没看过这么系统的emacs视频