有没有什么插件支持在某个目录下直接搜索文件内的内容?

如题,类似grep命令的结果,如果能和helm整合就更好了

GitHub - emacsorphanage/helm-ag: The silver searcher with helm interface 这个插件可以满足你。

有大神就是好,谢谢~

不算第三方插件,Helm 自身有 grep/zgrep/pdfgrep/git-grep/ack/ag/pt 支持,grep 也可以搜索一个目录。

emacs自带rgrep,而且即使使用emacs远程的服务器上也能使用.

先是知道 ffip (find-file-in-project),后来把相关的函数也按照这个缩写风格起了别名,方便记忆,即使快捷键忘了,M-x 打字也不费事:

(defalias 'ffip 'projectile-find-file)
(defalias 'ffid 'projectile-find-file-in-directory)
(defalias 'agip 'helm-ag-project-root)
(defalias 'agid 'helm-do-ag)

我的 rgrep 永远都在提示参数格式不正确 ,有没有同学知道怎么解决?

请给出你的操作步骤和出错提示,如果你觉得有别的因素可能会导致问题的发生,也一并附上。

情况是这样:我的环境是 windows emacs25.1 版本。

使用 M-x rgrep, 依次敲入检索内容、文件类型、检索目录,如:print、 *.py 、 c:\user\user_name\desktop\pathon\

但得到的反馈都是:FIND: 参数格式不正确

但同样方法 我去Mac OS 或者Centos下 是正常检索到 print 。

一开始我怀疑是不是我的各种配置导致emacs的功能受影响,但是移除配置后,我去GNU重新下载一个,依然是这样的情况。

所以问下,windows 下的用户有没有遇到类似的情况,我个人怀疑是不是调用了windows下的find command。有没有朋友了解这点。谢谢!!

搜索 agenda-files:

  • org-tags-view: 通过 tag 进行搜索
  • org-tags-sparse-tree: 显示 匹配 tag 的 sparse tree,不匹配的会被隐藏掉
  • helm-org-agenda-files-headings
  • helm-org-rifle-agenda-files

搜索本文件内的内容

  • swiper: 替代 C-s(isearch-forward)
  • helm-swoop: 直接搜索当前光标所在的词
  • helm-org-rifle-current-buffer
  • helm-do-ag-this-file

搜索打开的文件

  • 搜索打开的 org 文件:

    • helm-org-rifle
    • helm-multi-swoop-org
  • 搜索打开的文件,不限 org 文件

    • helm-multi-swoop-all
    • helm-do-ag-buffers

搜索目录或选中的文件

  • helm-do-ag
  • helm-do-grep-ag
  • helm-org-rifle-directories: 选定一个目录来进行搜索 org-mode 文件
  • helm-org-rifle-org-directory: 在 org-directory 中设定的目录中进行搜索
  • helm-org-rifle-files: 选定 org-mode 文件来进行搜索
5 个赞

比较全的方法上一楼给了。FIND: 参数格式不正确应该是调了windows的find,这个目测不难解决但是没必要,换ag(the silver searcher)之类的吧。

好的谢谢 ~

我如果想在windows下搜索一个目录的内容,用什么插件比较好啊?需要安装程序吗? 我试了上面的方法,单个文件内的搜索是没有问题的,大家经常说的ag pt有什么区别吗?在windows下要怎么安装啊?

已找到,网上有人放了exe程序,直接用就可以了。

用Cygwin编译生成的都是可以直接运行的exe文件

对,只是我没有安装cygwin和msys,这样的软件只能从网上去找,这个有点被动

ag 是用 C 重新实现的 ack,因为用 perl 脚本实现的 ack 不够快。pt 是用 go lang 重写的 ag,据说比 ag 还快,也直接提供 exe 文件(ag需要用cygwin编译)

对,ag需要编译,pt官网提供下载编译好的,挺好用的。