在vim中使用ocamlmerlin自动补全

5
我正在尝试为OCaml获取自动完成功能。我喜欢使用Vim,并找到了这个插件:https://github.com/the-lambda-church/merlin。我使用OPAM进行安装,并添加了加载该插件所需的行到我的.vimrc文件中。我确保OPAM bin文件夹(其中包含ocamlmerlin)在我的.profile文件中,并检查我是否可以从终端访问它,对于vim,我使用“Ctrl-r =$PATH”打印了PATH变量,显示它包含OPAM bin文件夹。然而,它仍然无法正常工作,我不知道还要做什么才能使其工作。语法高亮仍然存在,但那和merlin无关。我想要实现自动完成功能。如果我按下Ctrl-N来显示建议完成,则会得到“normal”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"

有什么想法吗?
1个回答

4

Ctrl-N是默认完成方式;它的源由'complete'选项配置,但不能包括自定义源。

Merlin插件使用Omni完成,可以通过Ctrl-X Ctrl-O触发;请参阅:help compl-omni


它说omnifunc未定义? - SpaceMonkey
谢谢,我找到了!!我需要先启用它: http://vim.wikia.com/wiki/Omni_completion - SpaceMonkey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接