5

我正在尝试获取 OCaml 的自动完成功能。我喜欢使用 Vim,我发现了这个插件:

https://github.com/the-lambda-church/merlin

我使用 OPAM 安装它并添加了所需的行以将其加载到我的 .vimrc

我确保 OPAM bin 文件夹(包含 ocamlmerlin)在我的 .profile 文件中,并检查我是否可以从终端访问它,对于 vim,我使用“Ctrl-r =$PATH”打印了 PATH 变量,它显示它包含 OPAM bin 文件夹。

它仍然不起作用,我不知道还有什么可以使它起作用。我得到语法突出显示,但无论如何都没有梅林。我希望自动完成工作。

如果我按 Ctrl-N 显示补全建议,我会得到“正常”的 vim 补全,这基本上只是文档中提到的单词列表。

检查启动日志文件,我可以看到 Vim 确实加载了 merlin:

chdir(/home/incraved/.opam/system/share/ocamlmerlin/vim/plugin)
fchdir() to previous dir
sourcing "/home/incraved/.opam/system/share/ocamlmerlin/vim/plugin/merlin.vim"
finished sourcing /home/incraved/.opam/system/share/ocamlmerlin/vim/plugin/merlin.vim
Searching for "/home/incraved/.opam/system/share/ocamlmerlin/vimbufsync/plugin/**/*.vim"

有任何想法吗?

4

1 回答 1

4

Ctrl-N 是默认补全;它的来源由'complete'选项配置,但不能包含自定义来源。

Merlin 插件使用Omni 补全,由 Ctrl-X Ctrl-O 触发;见:help compl-omni

于 2014-01-15T08:49:43.880 回答