如何在一个project里全局搜索函数名/变量名

有时想要快速跳转到某个函数的定义,进行查看或修改,但光标不在这个函数名上,大家是怎样实现快速跳转的?

目前我能想到的方式:

  1. 用consult-ripgrep之类的搜索工具,然后选中定义的地方,跳过去
  2. 先project-find-file到对应文件,然后再到函数定义处

在文件内可以用imenu快速跳转到函数/变量定义处(如下图),如果在整个project下有类似的方式就好了。

我是consult + eglot派的,需要第三方包consult-eglot:

(defun my-project-imenu()
      (interactive)
      (if (bound-and-true-p eglot--managed-mode)
          (call-interactively 'consult-eglot-symbols) ;; 第三方包consult-eglot
        (call-interactively 'consult-imenu-multi))) ;; consult-imenu.el里有

感谢,虽然我是lsp-mode党,哈哈,在consult-eglot主页看到有consult-lsp,装来用了一下,不错

如果你用 doom ,会发现开了lsp和consult就会有consult-lsp 。doom的配置是个宝藏,就算不用也可以多抄抄。