4

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

Spacemacs 中是否有一个命令可以让我在 ~/projects/x 下的所有 git 存储库中搜索文件?

4

4 回答 4

5

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

  1. 提示您选择要搜索的目录
  2. 允许您输入搜索字符串,在 HELM 窗口中显示结果

通常,SPC s显示用于一般搜索的所有键绑定,其中f是文件。

于 2017-01-14T18:07:03.787 回答
2

我再次挖掘了可用的 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”开头)。

于 2017-01-14T23:16:38.377 回答
1

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

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

于 2020-01-08T16:36:58.660 回答
0

哦,我刚刚意识到我可以将弹丸尊重的标记(如 .projectile 文件)放入我的 ~/projects/x 目录中。现在我可以切换到 ~/projects/x 项目,并且仍然可以通过选择 ~/projects/x/p1/ 将其缩小到特定的子项目。

所以我需要做的就是:

    touch ~/projects/.projectile

更新:我意识到这样做时,我无法缩小到子项目。所以这并不是最好的答案。

于 2016-10-18T13:01:00.150 回答