V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Nixus
V2EX  ›  Vim

Windows 下如何安装 gocode for gVim?折腾几天了,网上查到的资料好像质量都有点儿……

  •  
  •   Nixus · 2015-04-05 09:22:52 +08:00 · 3608 次点击
    这是一个创建于 3557 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已经安装了vim-go、之前assistant中有提供go.dict.txt,后来一次更新发现这个文件空了。
    后了解到gocode非常好,但是在Windows怎么装,就是没有一点效果,惆怅啊

    请有经验的大哥给指点一下!
    谢谢!如果成功了,一定奉上V币!

    25 条回复    2015-04-09 08:57:12 +08:00
    jsfaint
        1
    jsfaint  
       2015-04-05 16:33:54 +08:00   ❤️ 1
    vim-go会自动安装gocode呀,不需要手动安装。
    步骤如下:
    1. 安装go sdk
    2. 在环境变量中加入GOPATH,这个环境变量是用来指定go get, go build的工作路径
    3. 你用vundle,neobundle之类的管理工具把vim-go加到vim里面
    4. 挂上代理用vim,:GoInstallBinaries,就会自动build vim-go依赖的第三方tool,包括gocode在内
    对于windows来说,有可能代理需要手动指明set http_proxy=127.0.0.1:7777 https_proxy=127.0.0.1:7777 vim这样就可以了。

    其实go最大得问题还是被GFW认证了,造成下载源码非常痛苦……
    Nixus
        2
    Nixus  
    OP
       2015-04-05 17:49:21 +08:00
    @jsfaint 开了ssh+,设置了http[s]_proxy 结果安装的时候,还是报错一大堆
    郁闷……
    不过还是非常感谢您!至少这个安装方法非常简单,谢谢!
    Nixus
        3
    Nixus  
    OP
       2015-04-05 18:47:08 +08:00
    @jsfaint 如果google把所有需要用的资源都放到github上,该多好啊!哎……
    jsfaint
        4
    jsfaint  
       2015-04-05 22:11:11 +08:00
    @Nixus 我这里是挂shadowsocks的代理成功安装了。实际上go已经把资源放在github了,但是因为官网被墙了,而那些需要的tool是通过官网的一个链接跳转的,结果还是无法访问T_T
    windows下,用shadowsocks+cow绝对是神器
    Nixus
        5
    Nixus  
    OP
       2015-04-05 23:33:03 +08:00
    @jsfaint 再次感谢!shadowsocks我知道是什么,cow我查了一下,看了一下功能介绍,感觉这个不是必须的。如果没这个,可以安装吗?
    jsfaint
        6
    jsfaint  
       2015-04-06 18:53:16 +08:00
    @Nixus cow不是必须,cow不需要规则表,会根据链接是否能连接自动代理。这点比较方便。

    按理说你有ssh的话,你应该可以直接用的。
    假设,ssh的ip是127.0.0.1,端口是7000,那么

    ```
    set http_proxy=127.0.0.1:7000 https_proxy=127.0.0.1:7000 vim
    ```

    应该就可以了。
    Nixus
        7
    Nixus  
    OP
       2015-04-07 07:13:19 +08:00
    @jsfaint 终于安装成功了,但是autocomplete的功能没有!可能还需要其它插件支持吧!
    非常感谢!
    jsfaint
        8
    jsfaint  
       2015-04-07 09:55:02 +08:00
    @Nixus 嗯,autocomplete需要其他插件来支持,不过omnicomplete可以通过ctrl+x ctrl+o来手动激活
    autocomplete可以用neocomplete(需要lua支持),或者acp,或者如果你想折腾youcompleteme……
    Nixus
        9
    Nixus  
    OP
       2015-04-07 10:14:58 +08:00
    @jsfaint 就是说,gocode自身是没有自动提示代码、补全代码的功能?
    jsfaint
        10
    jsfaint  
       2015-04-07 11:00:14 +08:00
    @Nixus 自身是有补全的,但是自动弹出补全窗口这个要依赖第三方plugin的,vim一直是这样。
    不然只能手动激活补全
    Nixus
        11
    Nixus  
    OP
       2015-04-07 11:07:54 +08:00
    大哥,你看下,下面是我的Plug,还需要什么?之前assistant是可以用的,但是后来,这个插件的go.dict.txt空了,就不行了
    " Plugs
    "" 会用并正常使用中的
    Plug 'AutoComplPop'
    Plug 'The-NERD-tree'
    Plug 'Tabular'
    Plug 'taglist.vim' "标签列表
    Plug 'FixCSS.vim' "格式化CSS
    Plug 'bufexplorer.zip'
    Plug 'xptemplate'
    Plug 'LargeFile'
    Plug 'assistant'
    Plug 'fatih/vim-go'
    Plug 'michaelkrupp/vim_l9.vim'
    Plug 'honza/vim-snippets'
    Plug 'SirVer/ultisnips'
    Plug 'sjl/gundo.vim'
    Plug 'powerline/fonts'
    Plug 'bling/vim-airline' "状态栏
    Plug 'Yggdroot/indentLine'
    Plug 'vimz/quickfixer'
    Plug 'maksimr/vim-jsbeutify'
    Plug 'scrooloose/syntastic' " 需要在环境变量中添加相应开发语言的exe文件
    Plug 'terryma/vim-expand-region'

    "" 知道用途,不会用:需要学习的
    Plug 'a.vim'
    "Plug 'cscope.vim'
    Plug 'Shougo/neocomplcache.vim'
    Plug 'matchit.zip'
    Plug 'plasticboy/vim-markdown'
    Plug 'tpope/vim-fugitive'
    Plug 'tpope/vim-surround'
    Plug 'othree/html5.vim'
    "Plug 'mattn/emmet-vim'
    Plug 'scrooloose/nerdcommenter'
    Plug 'szw/vim-tags'
    denghongcai
        12
    denghongcai  
       2015-04-07 11:39:19 +08:00
    补全用YouCompleteMe
    jsfaint
        13
    jsfaint  
       2015-04-08 11:12:13 +08:00
    @Nixus 那个assistant应该可以拿掉
    补全用你已经有Plug 'AutoComplPop'了
    taglist可以用tagbar替换

    这俩二选一就行了
    Plug 'AutoComplPop'
    Plug 'Shougo/neocomplcache.vim'
    Nixus
        14
    Nixus  
    OP
       2015-04-08 12:03:35 +08:00
    @jsfaint 已经更改了!不过tagbar,文件中有很多变量重复了,这个怎么让重复的变量只显示一个,看了doc,没有找到
    jsfaint
        15
    jsfaint  
       2015-04-08 13:06:10 +08:00
    @Nixus 重复是什么情况……
    Nixus
        16
    Nixus  
    OP
       2015-04-08 14:10:13 +08:00
    jsfaint
        17
    jsfaint  
       2015-04-08 15:25:01 +08:00
    @Nixus 完全没遇到过……
    Nixus
        18
    Nixus  
    OP
       2015-04-08 15:26:34 +08:00
    @jsfaint 你vimrc中的,关于tagbar的配置是什么样的?
    jsfaint
        19
    jsfaint  
       2015-04-08 15:38:18 +08:00
    @Nixus
    "tagbar
    map <silent> <Leader>t <esc>:TagbarToggle<CR>
    let g:tagbar_sort=0
    let g:tagbar_left=0
    let g:tagbar_compact=1
    Nixus
        20
    Nixus  
    OP
       2015-04-08 15:41:53 +08:00
    @jsfaint 你的sort=1的时候,就可以看到一堆同名变量了:)
    jsfaint
        21
    jsfaint  
       2015-04-08 15:48:55 +08:00
    @Nixus 哦哦,原来如此。
    最初关掉sort是因为如果打开sort,tagbar里面的item和正文里面对应的symbol就不是顺序对应的了
    我还是比较习惯一一对应,而不是重新排序的
    Nixus
        22
    Nixus  
    OP
       2015-04-08 15:50:45 +08:00
    @jsfaint 嗯,我也关掉了,这样更好点儿吧
    jsfaint
        23
    jsfaint  
       2015-04-09 08:29:14 +08:00   ❤️ 1
    @Nixus 没啥影响,看个人喜好了
    Nixus
        24
    Nixus  
    OP
       2015-04-09 08:45:40 +08:00
    @jsfaint 嗯!这贴成咱俩的私人贴了,哈哈……
    jsfaint
        25
    jsfaint  
       2015-04-09 08:57:12 +08:00
    @Nixus 因为没人理呀orz
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5345 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:14 · PVG 17:14 · LAX 01:14 · JFK 04:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.