支持GoLang,类似 Source Insight的vim编辑器搭建

本文介绍了如何在Ubuntu 16.04 LTS 32bits系统上配置一个类似Source Insight的vim编辑器,专注于支持Go语言。通过下载安装GoLang,配置环境变量,然后利用vundle管理vim插件,安装vim-go、UltiSnips、YCM等关键插件,以及相关依赖工具,最终实现自动补全、代码跳转等功能。同时,文章还提到了可能遇到的网络问题及解决方法,并分享了一些配置示例和快捷键。
摘要由CSDN通过智能技术生成

,曾经配置过一个类似source insight的vim编辑器,(http://blog.csdn.net/linuxandroidwince/article/details/74202412)默认对C,C++语言是支持的,只是不支持golang,下面介绍下如果打造一个vim-go的编辑器,类似source insight,自动补齐等等, 我使用的是ubuntu16.04 LTS 32bits。

##下载安装GoLang
写博时,官方稳定版本是1.8,下载的是linux 32bits的。
https://golang.org/dl/
下载后直接解压到/usr/local/go下面即可,解压到其他path也可以,没有特别指定,只是习惯而已,比如解压到$HOME/go。

##配置环境变量
可以将下面内容复制到/etc/profile,也可以复制到~/.profile

 # go path
 export GOROOT=/usr/local/go
 export GOARCH=386
 export GOOS=linux
 export GOPATH=/home/jack/go
 export GOBIN=$GOPATH/bin
 export PATH=$PATH:$GOROOT/bin:$GOBIN

下面安装的一些go工具,如果配置了GOBIN这个变量,都会安装到这个目录下,如果没有配置这个变量,默认可执行文件放在各自GOPATH目录的bin文件夹中。

运行一下go命令,如果显示go命令的Usage,说明已经安装配置成功,或者go version看到版本信息,也说明安装成功。

##hello GoLang
写一段程序测试下:摘抄于官网

// You can edit this code!
// Click here and start typing.
package main

import "fmt"

func main() {
	fmt.Println("Hello, 世界")
}

$go run test.go
Hello, 世界

准备配置vim-go

由于配置vim-go,需要安装一些go .tools binaries,这些工具默认会安装在$GOBIN下面。安装这些工具需要一些辅助工具,比如分布式版本控制系统Mercurial。
在 Ubuntu 下快速的最新版的安装Mercurial, 其实只要几条命令就可以搞定了.

$sudo add-apt-repository ppa:tortoisehg-ppa/releases
$sudo add-apt-repository ppa:mercurial-ppa/releases
$sudo apt-get update
$sudo apt-get install mercurial python-nautilus tortoisehg

安装git, vim:

$sudo app-get install git
$sudo app-get install vim

安装ctags-exuberant,这个工具,后面很多插件会用到,tagbar, nerdtree, gotags等。

$sudo app-get install exuberant-ctags
$ctags-exuberant --version
Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert
$ ctags-exuberant --list-languages //查看支持那些语言
......
Flex
Fortran
Go
HTML
Java
......

另外,配置YCM时,由于YCM用到了C++实现性能上的优化,所以需要安装C++的编译环境:

$sudo apt-get install build-essential cmake python-dev

##插件管理工具vundle
vim-go官方提到两种插件管理工具,除vundle还有pathogen,只是选择vundle的比较多,我这里也以vundle为例介绍。

####安装Vundle.vim

$mkdir ~/.vim/bundle
$git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim 

后面安装的plugin都安装在~/.vim/bundle下面。

####配置~/.vimrc文件以支持plugin的安装

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required

保存.vimrc退出,在bash下输入vim命令回车,在命令行模式下输入 :PluginInstall回车,这时在窗口底部会看到Processing ‘gmarik/Vundle.vim’,表示正在从网络下载这个插件,等底部显示Done!即表示下载成功,这时退出vim,到~/.vim/bundle下可以看到多了一个vundle的path。

##安装vim-go插件
编辑~/.vimrc,在vundle#begin和vundle#end间增加一行:

Plugin 'fatih/vim-go'

在Vim内执行 :PluginInstall, 窗口下方会提示:Processing ‘fatih/vim-go’, 待下载安装完毕后,提示信息变 成“Done!”

##安装go.tools Binaries
vim-go安装说明中提到所有必要的binary需要先安装好,比如gocode、godef、goimports等.
通过:GoInstallBinaries,这些vim-go依赖的二进制工具将会自动被下载,并被安装到 G O B I N 下 或 GOBIN下或

Source Insight 是一款非常流行的源代码编辑器,具有强大的代码导航和分析功能。它支持多种编程语言,包括 Golang(Go),可以帮助开发者更高效地编写和维护 Golang 代码。 使用 Source Insight 编辑 Golang 代码,首先需要将 Golang 的语法文件导入到 Source Insight 中,以便正确地解析和高亮显示 Golang 代码。然后,可以创建一个新的项目,在项目中导入 Golang 代码文件夹。导入后,Source Insight 将会自动解析代码并生成代码导航树,方便开发者快速浏览和导航代码。 Source Insight 还提供了强大的代码搜索和跳转功能。开发者可以使用快捷键或者鼠标点击来查找变量、函数、类等符号的定义和引用,快速定位到相关的代码位置。此外,Source Insight支持符号自动补全和参数提示,可以极大地提高编写代码的效率。 对于 Golang 代码,Source Insight 还提供了一些特定的功能。例如,它可以检测出未使用的变量和未导出的函数,帮助开发者进行代码质量的检查和优化。另外,Source Insight 还可以查找和显示代码中的 TODO 注释,方便开发者追踪和处理遗留的任务。 总的来说,Source Insight 是一款非常实用的源代码编辑器,可以帮助开发者更加高效地编写和维护 Golang 代码。它的强大的代码导航和分析功能,以及针对 Golang 的特定功能,使得开发者能够更加方便地理解和修改代码,提高开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JXES智能生态系统

如文章对你有用,请作者喝个咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值