【问题标题】:vim-go autocompletion not workingvim-go 自动补全不起作用
【发布时间】:2014-07-28 20:22:57
【问题描述】:

我最近使用病原体安装了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


    【解决方案1】:

    这对我有用。默认 gocode pkg 似乎不再维护。所以用下面的更新它。 我的 go 和 vim 版本:

    VIM - Vi IMproved 8.2
    go version go1.16.4 
    

    按照以下步骤操作:

    gocode exit 
    go get -u github.com/mdempsky/gocode
    

    在调试模式下运行 gocode

    gocode -s -debug
    

    尝试自动完成。(vim-go C+X C+O)

    中提琴!你应该会看到这样的列表:

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

        • 这让我大开眼界。不知道这是一个内置的东西。我期待实时弹出窗口。
        • 实际上再往下读一点文档 (github.com/fatih/vim-go/blob/master/doc/vim-go.txt),事实证明你可以使用 neocomplete (vim) 或 deoplete (vim8 / neovim only)
        【解决方案4】:

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

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

        setlocal omnifunc=go#complete#Complete
        

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

        :verbose setlocal omnifunc?
        

        可以告诉你。

        【讨论】:

        • :verbose setlocal omnifunc? 输出 omnifunc=go#complete#Complete Last set from ~/.dotfiles/.vim/bundle/vim-go/ftplugin/go.vim,与您的建议相符。但是,它对我不起作用。 C-x,C-o 有效。 neocomplete 似乎适用于其他语言,例如 bash 脚本:只需键入 #!/bin/ 即可立即显示整个路径。禁用neocomplete 禁用了该类型的功能,所以我知道该插件可以正常工作。任何帮助将不胜感激。
        • 您好,您已接受答案,尽管尚未发布解决方案。如果你设法修复它,你能分享一下如何吗?因为我和你面临同样的问题。谢谢
        猜你喜欢
        • 1970-01-01
        • 2011-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-01
        • 2011-12-12
        • 1970-01-01
        相关资源
        最近更新 更多