vim进行golang开发

vim进行golang开发

主要通过vim-go插件,实现代码跳转、编译、调试等功能。
未完待续...

安装升级vim 8

vim-go要求的vim最低版本为 8.1.2269,版本低的话可以手动升级,建议源码编译安装。

  • 安装:

    # 下载对应的tag
    https://github.com/vim/vim/tags
    
    # 编译安装
    make
    make install

安装vim-go

vim8之前通常需要借助第三方的plugin管理器如vundle管理plugin。从vim8可以通过package的方式原生支持plugin。安装卸载插件非常简单。

  • 安装:
    下载最新develop版本,或者下载稳定的Release版本,放置到vim的plugin目录下即可

    # develop版本
    git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go
    
    # release版本
    https://github.com/fatih/vim-go/releases
  • 卸载:

    rm -rf ~/.vim/pack/plugins/start/vim-go
  • 安装vim-go依赖的二进制程序

    vim
    :GoInstallBinaries
    
    # 会自动通过github下载需要的二进制程序
    # 放置到$GOBIN or $GOPATH/bin, 默认 $HOME/go/bin
    ......
    github.com/klauspost/asmfmt/cmd/asmfmt@latest to folder /home/gpadmin/go/bin/
    vim-go: installing finished!
  • 升级vim-go和依赖的二进制程序

    :GoUpdateBinaries
  • 配置vimrc

    vi ~/.vimrc
    filetype plugin indent on

使用vim-go

参考doc/vim-go.txt或者vim中的帮助:help vim-go(需要先:helptags ALL)

官方Tutorial内容有些过时了,有问题首选参考vim-go.txt。

  • Navigate:

    功能 命令 快捷键
    go to defination :GoDef gd / ctrl-]
    go back :GoDefPop ctrl-t
    显示jumpstack :GoDefStack -
    清理jumpstack :GoDefStackClear -

trouble-shooting

  • 粘贴代码缩进问题:
    现象:vimrc中配置'filetype plugin indent on'后,vim中粘贴代码出现错误的缩进。
    办法:使用:paste模式粘贴

     1. :set paste
     2. 进入insert模式粘贴代码
     3. :set nopaste

参考资料

trouble-shooting

你可能感兴趣的:(govimvim-go)