我正在尝试使用 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
.
最佳答案
Omni completion(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 的 <C-Space>
而不是示例 <C-g>
触发器。
关于vim 去 : Can't get autocompletion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28671272/