利用SpaceVim打造完美Go IDE

SpaceVim介绍

之前写c++代码时用了比较简易的vim-ide: https://github.com/jiangeZh/vim-ide, 上手后确实比使用source insight 快很多,但是只提供比较简单的功能。这次准备配置go开发时,又重新折腾了找资料折腾了下。
开始也参考了很多vim配置教程,用vundle来管理插件,可以相对简单一点,但是配置和安装过程中仍有很多问题,作为没用多久的新手,花了很多时间仍有些问题。终于找到了比较简单完美的方式,利用SpaceVim来快速配置。
SpaceVim 是一个社区驱动的模块化的 Vim IDE,以模块的方式组织管理插件以及相关配置, 为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全, 语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱即用的 Vim IDE。

下载安装

linux 系统下: 确保安装了vim8, git,curl, 执行:

curl -sLf https://spacevim.org/cn/install.sh | bash

下载完成之后,用vim任意打开一个文件,SpaceVim自动开始下载所有插件。

go语言配置

安装gotags
go get -u github.com/jstemmer/gotags
安装ctags
sudo apt-get install ctags
安装go tools

安装以上后用vim打开go代码,使用函数跳转时会出现:

E718: Funcref required
vim-go: could not find 'gopls'. Run :GoInstallBinaries to fix it

或者说guru等不存在的错误,这时按照提示在vim中执行GoInstallBinaries会出现:

Error downloading github.com/zmb3/gogetdoc
Error downloading github.com/stamblerre/gocode
...

下载不成功,原因是这里网站连不上,需要找资源下载来手动安装。
比较重要的模块是:guru/gopls 在使用时主要是提示这两个模块,因此先安装。

guru

1、建立路径:mkdir -p $GOPATH/github.com/Go-zh/

2、 在$GOPATH/github.com/Go-zh/ 目录下执行git clone https://github.com/Go-zh/tools.git
3、执行安装:

go install github.com/Go-zh/tools/cmd/guru
#以下模块也包含了,顺带一起安装
go install github.com/Go-zh/tools/cmd/goimports
go install github.com/Go-zh/tools/cmd/gorename
gopls

执行安装:

go install github.com/Go-zh/tools/cmd/gopls

增加自定义配置

SpaceVim配置可参考官网或者help命令查看,主要是修改文件:~/.SpaceVim.d/init.toml
当需要增加自定义配置,不在SpaceVim中配置项中时,不能直接在~/.vimrc中配置,不然会失效,此时要在下面文件中添加:

vim ~/.SpaceVim/vimrc

如果修改了~/.vimrc,发现SpaceVim失效了,可以删除.vimrc文件即可恢复。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpaceVim 是一个社区驱动的模块化 Vim/Neovim 配置集合,以模块的方式组织管理插件以 及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全, 语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱 即用的 Vim-IDE。 特性: 1、多光标 Iedit 模式: SpaceVim 内置了一种特殊的模式,Iedit 模式,这种模式提供了多光标支持,不同于已有插件的实现, 该模式支持两种状态:iedit-Normal 和 iedit-Insert。默认情况下,多光标输入时,iedit-normal 模式状态栏时是红色,而 iedit-insert 模式时是绿色,当然这由所选择的主题决定。 2、高亮光标下的函数SpaceVim 支持高亮当前光标函数,并且启动一个特殊模式,在该模式下可以快捷地切换高亮区域 (方法内、屏幕内、整个文件内),并且可以快速在高亮函数跳转、切换高亮状态(高亮、取消高亮), 并且可以根据已选择的位置进入 Iedit 模式。 3、实时代码检索: SpaceVim 自带的 FlyGrep 这个插件可以根据输入实时搜索项目代码,当然需要借助后台搜索工具, 目前支持的工具有:ag,rg,ack,pt 和 grep,用户可任意选择一个喜欢的工具。 4、快捷键辅助导航: 在 SpaceVim 中,所有快捷键都有导航系统,你不需要记忆任何快捷键。初次使用时可根据快捷键提示进行操作。当按下空格键或者 g、z 以及 s 按键时,导航就会自动出现。当你记住了快捷键,输入比较快时,导航则不会出现。 5、快捷键描述系统 通过快捷键描述系统,你可以清楚的了解到一个快捷键的功能,并且可以快速跳转到快捷键定义的位置; 比如,通过 SPC h d k 启动快捷键描述系统,然后按下所需描述快捷键 SPC b n,就会弹出一个描述 窗口,在改窗口可以通过快捷键 gd 快速跳转到快捷键定义处。 6、异步插件管理器: SpaceVim 利用Vim 8 和 Neovim 最新的异步机制,实现了异步插件下载及更新,而插件运行管理采用的是 dein.vim

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值