2015-02-23 139 views
1

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

我的环境运行良好,我成功运行了:GoInstallBinaries,我可以使用任何:GoXXX命令没有错误。但我无法自动完成工作。

  • 当我点后打<Ctrl-o>,VIM只是交换机-- INSERTION ---- (insertion) --模式之间的状态栏(有什么区别BTW?)和我的移动光标一个字符的左边。
  • 当我点击<Ctrl-x>时,它只是在状态栏中显示-- mode ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)

有时(很少)滥发<Ctrl-o>后显示vim-go自动完成提示...

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

+0

你尝试组合''?这就是Omni完成(插件使用的)如何被触发。参见':h _i_CTRL-X_CTRL-O'。 – 2015-02-23 10:15:06

+0

@IngoKarkat我没有,但我不得不同时使用''然后''。我虽然是一个或另一个...多么复杂的方式。谢谢! – 2015-02-23 10:18:19

+0

你可以缩短与映射;看到我的答案! – 2015-02-23 10:26:47

回答

4

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样<C-Space>代替例如<C-g>触发的。