【问题标题】:vim-go: Can't get autocompletionvim-go:无法自动完成
【发布时间】:2015-02-23 18:26:24
【问题描述】:

我正在尝试使用 vim-go,但我无法让自动完成功能正常工作。

我的 go 环境运行良好,我成功运行了:GoInstallBinaries,并且我可以使用任何:GoXXX 命令而不会出错。但我无法让自动完成功能工作。

  • 当我在一个点后点击 <Ctrl-o> 时,vim 只是在状态栏中切换 -- INSERTION ---- (insertion) -- 模式(顺便说一句有什么区别?)并将光标向左移动一个字符。
  • 当我点击<Ctrl-x>时,它只会在状态栏中显示-- mode ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)

有时(很少)在发送垃圾邮件<Ctrl-o> 后会显示vim-go 自动完成工具提示...

vim-go 是唯一安装的插件,使用pathogen

【问题讨论】:

  • 你试过<Ctrl-x><Ctrl-o>这个组合吗?这就是触发全能补全(插件使用的)的方式。见:h _i_CTRL-X_CTRL-O
  • @IngoKarkat 虽然我必须同时使用<C-x> 和然后<C-o>,但我没有。我认为这是一个或另一个......多么复杂的方式。谢谢!
  • 你可以用映射来缩短它;看我的回答!

标签: vim autocomplete go


【解决方案1】:

Omni 补全(Go 插件提供)通过<C-x><C-o> 触发,即 Ctrl + X 后跟 Ctrl-O。您描述的提示 (-- mode ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)) 暗示了这一点。

如果这对你来说太麻烦,你可以定义一个插入模式映射来缩短它;这是一个(全局)示例,可放入您的~/.vimrc

:inoremap <C-b> <C-x><C-o>

如果您使用 GVIM,您还可以使用类似 IDE 的 &lt;C-Space&gt; 代替示例 &lt;C-g&gt; 触发器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-24
    • 2014-02-19
    • 2023-03-30
    • 2011-07-22
    • 2011-10-22
    • 1970-01-01
    • 2012-04-09
    • 2012-07-31
    相关资源
    最近更新 更多