Spacemacs:在多个项目中搜索文件

时间:2016-10-18 05:53:28

标签: spacemacs

我知道我可以使用" SPC p f"在当前项目中搜索文件,这对我来说意味着git存储库。现在,在我目前的项目中,我们有多个git repos,我想在所有这些文件中搜索文件。幸运的是,它们都位于同一目录中(例如〜/ projects / x /)。

Spacemacs中是否有命令可以让我在〜/ projects / x下的所有git repos中搜索文件?

4 个答案:

答案 0 :(得分:3)

我相信你可以用SPC s f来做到这一点。当你激活它时:

  1. 提示您选择要搜索的目录
  2. 允许您输入搜索字符串,在HELM窗口中显示结果
  3. 通常,SPC s显示常规搜索的所有键绑定,其中f用于文件。

答案 1 :(得分:1)

我再次挖掘了可用的helm命令并找到helm-projects-find-files,这正是我想要的。

我将此~/.spacemacs放入函数dotspacemacs/user-config

(setq-default helm-locate-project-list (list "~/projects"))
(spacemacs/set-leader-keys "fm" 'helm-projects-find-files))

要搜索这些文件,您可以使用spacemacs/helm-project-smart-do-search-in-dir

将它放在~/.spacemacs

(defun mine/search-in-projects ()
  "Search in all my projects (i.e. what is checked out in ~/projects)"
  (interactive)
  (spacemacs/helm-project-smart-do-search-in-dir "~/projects"))

这是~/.spacemacs中的函数dotspacemacs/user-config

(spacemacs/set-leader-keys "sm" 'mine/search-in-projects)

(我使用SPC-sm作为组合键,因为项目名称以" m")开头。

答案 2 :(得分:1)

您可以将其放入.spacemacs中以绑定SPC p f来搜索所有项目。

(spacemacs/set-leader-keys "pf" 'helm-projectile-find-file-in-known-projects)

答案 3 :(得分:0)

哦,我刚刚意识到我可以把一个射弹所尊重的标记(比如.projectile文件)放到我的〜/ projects / x目录中。现在我可以切换到〜/ projects / x项目,并且仍然可以通过选择例如缩小它来缩小到特定的子项目。 〜/项目/ X / P1 /.

所以我需要做的就是:

    touch ~/projects/.projectile

更新:我意识到,在执行此操作时,我无法缩小到子项目。所以它并不是最好的答案。