1.准备工作

下载 git(http://git-scm.com/download/)

下载vim74 已经配置好的 (http://pan.baidu.com/s/1hq6euDA)

下载golang 1.4 (https://golang.org/dl/)

下载TDM-GCC 32位和64位 (http://tdm-gcc.tdragon.net/download)

2.golang 环境搭建

安装 TDM-GCC 32位 64位 并设置 path

解压缩 go 并设置 (目录需要自行修改)

GOROOT="D:\go" "golang 所在目录" 
GOBIN="D:\go\bin" "go 可执行文件目录(go install 三方包 后默认出现的地方 不设置 会走3方包的路径)" 
GOPATH="D:\3rd" "三方包的路径" 
GOOS="windows" "默认编译的系统" 
GOARCH="amd64" "i386 或 amd64"

都配置好后 打开go\src\ 新建 build.cmd写入内容如下

set CGO_ENABLED=0
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

::x64块
set GOARCH=amd64
set GOOS=windows
call make.bat --no-clean

set GOOS=linux
call make.bat --no-clean
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

::arm块
set GOARCH=arm
set GOOS=linux
call make.bat --no-clean

保存后运行 会直接生成windows 与linux 的交叉环境

此时 环境应该已经ok了 可以 在cmd 里面实验一下go 看是否有反映

下载对应的go 包

go get github.com/nsf/gocode 
go get github.com/jstemmer/gotags 
go get github.com/bradfitz/goimports 
go get code.google.com/p/rog-go/exp/cmd/godef 

这里需要注意一下 code.google.com/p/rog-go/exp/cmd/godef

包内部有个bug 我的路径是 D:\3dr\src\code.google.com\p\rog-go\exp\cmd\godef

需要做如下修改(这里原来是 /src/pkg 需要修改为/pkg 原因是 从某个版本开始pkg 目录被移动出src了 如果使用旧的 会导致跳转代码 失败)

修改成功后重新编译一下godef(go install code.google.com/p/rog-go/exp/cmd/godef)

3.GVIM 配置

安装git 环境变量选择

在git的目录下找到Cmd 目录进入后新建文件curl.cmd内容如下

@rem Do not use "echo off" to not affect any child calls. @setlocal

@rem Get the abolute path to the parent directory, which is assumed to be the
@rem Git installation root.
@for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI
@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%PATH%

@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%

@curl.exe %*

解压缩 下载好的vim74 打开 vim74\x64 修改图片中的地址后 运行

然后打开一个go 文件试试

vim 中使用了neobuild 管理包

通用配置在 vim74\x64\vimfiles\custom go部分

使用了 vim-go 具体快捷键可以登录 https://github.com/fatih/vim-go

常用 F10 打开函数与文件列表

:make 编译 
ctrl+] 跳转函数实现 
ctrl+o 跳回 
alt+c 复制选中 
alt+v 粘贴

交叉编译 build.sh(因为装了git 所以可以直接识别sh)

GOOS=linux GOARCH=amd64 go build