2015-02-23 78 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>觸發的。