vim-go自动完成无法正常工作

问题描述 投票:4回答:3

我最近使用病原体安装了vim-go,但自动完成功能无效。如果我使用它只显示我已经使用过的命令。我的.vimrc有

filetype plugin on

" Enable autocompletion
set omnifunc=syntaxcomplete#Complete
" Select keyword as you type
:set completeopt=longest,menuone

我需要的不仅仅是这个插件吗?我到目前为止测试的另一个功能是工作(:GoRun,语法高亮)。这是在Ubuntu机器上。

vim autocomplete go
3个回答
5
投票

syntaxcomplete#Complete附带Vim,而不是Go filetype插件,它的功能非常有限(基本上只提供语言的关键字)。难怪你很失望。

ftplugin/go.vim文件设置了vim-go插件的正确自定义完成:

setlocal omnifunc=go#complete#Complete

因此,只需确保'filetype'设置正确(go),并且您没有任何其他配置覆盖插件。

:verbose setlocal omnifunc?

可以告诉你。


4
投票

您是否正在键入C-X C-O以打开自动完成窗口?这对我来说很好。

另一方面,如果您想获得实时完成(按类型完成),请安装以下插件YCMneocomplete


0
投票

如果这些建议都不能解决您的问题,请尝试从终端中删除gocode:

gocode exit (or killall gocode it that fails)
gocode -s -debug

如果由于延迟的unix插槽导致启动失败,只需将其删除然后重试。一切正常后,您可以终止启用调试的gocode进程(插件将根据需要自动启动)

© www.soinside.com 2019 - 2024. All rights reserved.