helm-ag 插件中有一个 helm-ag--do-ag-up-one-level, 但是我测试不工作。

目前有个需求,相信大家也会遇到,下面我尝试描述下:

  1. 我打开某个文件,使用 helm-do-ag-this-file 搜索某个关键字, 假设只有三个结果(太少了)
  2. 我希望切换到父目录,在整个目录下查找。
  3. 继续切换到上层目录 … 直到找到期望的结果。

然后,helm-ag-do-ag-up-one-level, 并没有像我期望的那样,不断地刷新,返回更多的结果, 而是不管我怎么切换,都是只返回最初的三个,也就是,貌似它仍旧只是搜索最初的那个文件。

我提了 issue, 但是我觉得可能是我自己配置错误, 因此在这里求助。

谢谢!

我装上 helm-ag 试了下 M-x helm-ag没问题,M-x helm-do-ag-this-file 会报错,当然我觉得在 helm-do-ag-this-file 中用 helm-ag-do-ag-up-one-level 不合逻辑。

1 个赞

是的, 哈, 谢谢指点, 我发现, 在此之前, 我竟然只用 helm-do-ag-project-roothelm-do-ag-this-file, 几乎没用过 helm-do-ag, 哈.

下面是我的配置, 第一次 Ctrl+R, 还是 ag this-file, 再按一次 Ctrl-R, 就是 helm-do-ag, 然后就可以用 Ctrl + L 了.

有适当的.agignore配置和适当的搜索关键词的话,不需要这么小心翼翼吧,直接大目录里搜就好了

不同的场景.

我说的场景可能是, 通过某个 tags 工具, 一下跳转到项目依赖的某个库的源码里, 这个时候, 项目搜索失效了, 因为没有 git root 啊, 就需要从这个文件一层一层 往上找. 以前都是直接命令行操作, 但不够方便, 现在比以前方便些.

1 个赞