如何在 emacs merlin-mode 中跳转到 .ml(不是 .mli)中的函数定义

How to jump to function definition in .ml (not .mli) in emacs merlin-mode

当我按下 M-.C-c C-l 时,它通常会跳转到 .mli 文件中的函数声明。通常有关联的 .ml 文件,我可以使用 C-c C-a 切换到该文件,但随后,我必须在其中手动搜索此功能的实现。

如果有一种简单的方法可以直接跳转到 .ml 文件中的定义,或者在 .mli 之间切换时以某种方式定位到相应的函数位置.ml?

这是由 merlin-locate-preference 变量控制的,文档中说:

Determine whether locate should in priority look in ml or mli files.

因此,一旦变量设置为 'ml:

,您将开始实施,如果可用的话
(setq merlin-locate-preference 'ml)

有趣的是,它默认为 'ml,因此您要么覆盖它,要么 merlin 跳转到 mli,因为它找不到定义。如果你想跳转到另一个项目中的定义,那么将相应的 SB 子句添加到你的 .merlin 文件中。