更新源
//阿里云源
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
//163源
CentOS 5
wget -O /etc/yum.repos.d/CentOS5-Base-163.repo http://mirrors.163.com/.help/CentOS5-Base-163.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS6-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS7-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
重新生成yum源列表
yum clean all
yum makecache //缓存到本地加快加载速度
yum list
一、yum install go 出现
解决办法: yum安装golang,没有发现资源。缺少EPEL
centos 7
http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
或者 wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
然后进行安装:
rpm -ivh epel-release-7-11.noarch.rpm
最后进行安装yum install go 解决问题
配置 vim 编辑go程序高亮
1、升级vim版本
wget https://github.com/vim/vim.git
git clone https://github.com/vim/vim.git
下载 vim-8.1.tar.bz2
https://www.vim.org/download.php
cd vim81
./configure 出现错误 no terminal library found configure: error: NOT FOUND!
解决办法:yum install ncurses-devel.x86_64
cd src
./configure
make
make install
2、安装vim的插件管理工具
vim插件管理工具可以让插件安装变得简单快捷,vim的插件管理工具也有很多,这里选用 vim-pathogen (https://github.com/tpope/vim-pathogen),安装很简单
先创建两个目录:
[root@localhost ~]# mkdir -p ~/.vim/autoload ~/.vim/bundle
下载 vim-pathogen 到 ~/.vim/autoload 目录下:
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
编辑 ~/.vimrc ,加入如下几行内容:
execute pathogen#infect()
syntax on
filetype plugin indent on
重启vim 即可安装成功,之后如果想要安装其他插件,只需把插件放到 ~/.vim/bundle 目录下, 重启vim ,vim-pathogen就会帮你自动安装好插件。例如安装markdown:
[root@localhost ~]# cd ~/.vim/bundle/
[root@localhost bundle]# git clone https://github.com/plasticboy/vim-markdown.git
然后重启vim即可
3、安装vim-go
vim-go 是一款go代码高亮和语法检查的插件
如上所示安装方法,clone vim-go 到 ~/.vim/bundle 目录下即可
[root@localhost bundle]# cd ~/.vim/bundle/
[root@localhost bundle]# git clone https://github.com/fatih/vim-go.git // 安装完成以后就自动加载配置了
[root@localhost bundle]# ls
vim-go vim-markdown Vundle.vim
进入vim,执行vim-go提供的 :GoInstallBinaries 命令可以一键安装其他有助于开发的go工具/命令,但我在运行该命令时,vim-go意外出错了: 报错 gogetdoc not found
解决办法:
在/go_src/src/ 目录下 git clone http://github.com/zmb3/gogetdoc
cd gogetdoc
go build
go install
在 /go_src/bin 目录下会生成 gogetdoc
报错:could not find 'guru'. Run :GoInstallBinaries to fix it"的问题
办法1: 但是被和谐了 连不上网络
go get golang.org/x/tools/cmd/guru
$ go build golang.org/x/tools/cmd/guru
$ mv guru $(go env GOROOT)/bin
办法2:
在/go_src/src/golang.org/x/ 目录下 执行
git clone https://github.com/golang/tools
办法3: 实现了
安装guru,实现用gd命令跳转到函数定义:
首先在 $GOPATH/src 路径下建立golang.org/x 文件夹,然后到这个文件夹下执行:
git clone https://github.com/golang/tools
下载完成之后在 $GOPATH/src/golang.org/x下执行:
go install golang.org/x/tools/cmd/guru
在$GOPAH/bin 下找到guru ,将其移动到/usr/bin目录下,或者直接将$GOPAH/bin加入.bashrc:
vim打开 ~/.bashrc,在其最后加入:
export GOPATH=“这里是GOPATH的设置”
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOPATH/bin
执行 source ~/.bashrc 使其生效。
到此vim就有了vim-go插件及guru函数跳转的支持,编写golang代码更加方便,开发也更加快速。
办法4:
最近上手go 在配置vim 的时候,用到了插件vim-go。但是呢,在使用:GoInstallBinaries 命令安装其他工具的时候,由于网络原因(你懂得),无法完成所有工具的安装。几番折腾最后完成了其他插件的安装。
方法: 使用gopm 完成安装
gopm--Go Package Manager 的缩写。是go 上的包管理工具,十分好用。 gopm
1.gopm 安装:
这个十分简单只需一条命令就可以了:go get -u github.com/gpmgo/gopm
2.使用 gopm安装需要的包
gopm 具有丰富的包管理功能,具体的管理命令可以参考官方文档(官方文档有中文版 各位爽不爽)链接
这里只需要一条命令就可以搞定了:gopm bin -d $GOPATH/bin PackageName
又出现 问题 :
vim-go: golint not found. Installing golang.org/x/lint/golint to folder /go_src//bin
4、安装gocode插件
gocode是一款go的代码提示插件
安装gocode:
首先要正确设置GOROOT、GOPATH、PATH等几个环境变量,在GOPATH目录下新建 src、pkg、bin 三个子目录,并且把 $GOPATH/bin 子目录加入到PATH环境变量下,可以在 /etc/profile 文件下加入类似以下几行:
export GOROOT=/home/h*y**/work/go/tools/go/
export GOPATH=/go_src/
export PATH=$PATH:/home/heyun/work/go/tools/go/bin:$GOPATH/bin
export GOBIN=$GOPATH/bin
然后 source /etc/profile 使配置立即生效:
[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $PATH
/usr/local/luajit/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/software/go-go1.9.2/bin:/bin:/root/bin:/root/software/go-go1.9.2/bin:/root/mygo/bin:/root/software/go-go1.9.2/bin:/root/mygo/bin
进入 $GOPAH/src 目录下,clone gocode代码
[root@localhost ~]# cd $GOPATH/src
[root@localhost src]# go get github.com/nsf/gocode
[root@localhost src]# ls
app github.com mymath utils
[root@localhost src]# ls github.com/nsf/gocode/
autocompletecontext.go debian emacs-company LICENSE package.go rpc.go type_alias_build_hack_18.go
autocompletefile.go declcache.go formatters.go nvim package_text.go scope.go type_alias_build_hack_19.go
client.go decl.go _gccgo os_posix.go pre_go17.go server.go utils.go
config.go docs gocode.go os_windows.go README.md subl3 vim
cursorcontext.go emacs _goremote package_bin.go ripper.go _testing
进入 github.com/nsf/gocode 目录 编辑安装gocode:
[root@localhost src]# cd github.com/nsf/gocode/
[root@localhost gocode]# go build
[root@localhost gocode]# go install
这样 就会生成一个gocode的可执行文件,并被放到 $GOPATH/bin 目录下,把该目录加入PATH环境变量就是方便我们调用该可执行文件。
[root@localhost gocode]# ls $GOPATH/bin/gocode
/root/mygo/bin/gocode
[root@localhost gocode]# gocode -h
Usage: gocode [-s] [-f=<format>] [-in=<path>] [-sock=<type>] [-addr=<addr>]
<command> [<args>]
Flags:
-addr string
address for tcp socket (default "127.0.0.1:37373")
......
再安装 vim-gocode (https://github.com/Blackrush/vim-gocode)
cd ~/.vim/bundle
git clone https://github.com/Blackrush/vim-gocode.git // 自动就安装了
设置 gocode的快捷键,比如设置为 F6 ,可以在 ~/.vimrc 加入以下几行:
imap <F6> <C-x><C-o>
编写代码时按 F6 键就可以呼出代码提示了:
5、解决退格键bug和设置一个tab=4个空格
新版vim可能会出现退格键(backspace)无效的问题,解决办法在 ~/.vimrc 加入以下两行:
set nocompatible
set backspace=indent,eol,start
如果要设置按一个tab键等于四个空格,可以在 ~/.vimrc 加入以下两行:
set ts=4
set expandtab