VIM Go的IDE搭建图解

响应号召,咋们不翻墙

安装总体流程

  • go安装
  • 查看vim是否支持python插件编写;
  • 下载vundle,管理vim的各种插件;
  • 配置.vimrc, 用于表现vim的功能行为,包括:颜色、字体、布局、IDE等
  • 因为要安装go的IDE,没有翻墙,则需要github下载golang官方的tools包
  • vim相关插件安装

Go安装

1## 下载go可执行文件 2wget -i https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz 3 4mkdir -P /data/env/golang 5 6tar -zxvf go1.9.2.linux-amd64.tar.gz -C /data/env/golang/ 7 8## 建立软连接,方便升级 9ln -s /data/env/golang/go1.9.2 default 10 11## 建立go的全局变量环境 12sudo vim /etc/profile 13 14## 在profile文件中添加 15***************************************** 16### golang 17export GOROOT="/data/env/golang/default" 18export PATH = "$PATH:$GOROOT/bin" 19***************************************** 20sudo source /etc/profile 21 22## 切到自己的账户环境下 23cd ~ 24mkdir -P ~/godev/src ~/godev/bin ~/godev/pkg 25 26vim .profile 27 28### 在.profile文件中添加: 29****************************************** 30export GOPATH=$HOME/godev 31export PATH=$PATH:$GOPATH/bin 32export PATH=$PATH:$GOROOT/bin 33****************************************** 34 35## 用户环境变量配置生效 36source .profile

相关准备工作

一般情况下,如果你是用的Linux各个发行版,如:Ubuntu,RedHat、CentOS、Debian等等,vim编辑器都是功能裁剪版本,如果要完善的vim,则你需要重新源码编译安装vim编辑器。

这篇文章发布的时候,github的vim master分支是8.0版本,原生默认没有加入python插件编写

1git clone https://github.com/vim/vim 2cd vim 3## 此处有坑,一般有些开发者没有指定各个参数的默认值,其实很多参数默认值是no 4## python的配置config指定位置正确 5## 支持python、lua、ruby和perl插件编写 6./configure --with-features=huge --enable-pythoninterp=yes --enable-rubyinterp=yes --enable-luainterp=yes --enable-perlinterp=yes --with-python-config-dir=/usr/lib/python2.7/config/ --enable-gui=gtk2 --enable-cscope --prefix=/usr 7## 一般make或者make install不要这样使用`make && make install` 8## make 完成后,用`echo $?`命令校验下,返回值:0,表示成功。make install也是一样 9sudo make 10sudo make install

vim安装完成后查看,然后查看vim版本号中的python是否支持

1vim --version | grep python 2## 输出结果: 3+cryptv +linebreak +python +viminfo 4+cscope +lispindent -python3 +vreplace 5## 上面的结果中含有"+python", 表示vim已支持python插件编写。 6## 支持python插件编写的原因: 7## 我们安装vim-go的插件时会用到YouCompleteMe这个插件安装,它需要python插件编写支持。否则vim不好使 8 9## 输出结果: 10+cryptv +linebreak -python +viminfo 11+cscope +lispindent -python3 +vreplace 12## 上面的结果中不含有"+python", 是因为vim编译出来的可执行文件没有进行拷贝 13 14sudo mv src/vim /usr/local/bin/vim 15## 然后在执行vim --version | grep python

下载bundle,配置.vimrc文件

1## bundle用于vim的插件管理,自身的vim插件管理容易混乱 2git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 3 4touch ~/.vimrc 5## 并把我配置好的文件拷贝到.vimrc文件中,表现vim的行为 6## 插件是使用vundle统一安装,所以是在.vimrc文件的 7## call vundle#begin() 8## call vundle#end() 之间放入你要安装的插件 9 10## 例如:你要安装好看的vim呈现风格:字体样式。你可以在中间放入这个字体插件 11Plugin 'altercation/vim-colors-solarized' 12 13## .vimrc配置文件

.vimrc配置文件

安装插件和下载插件

在命令行输入vim进入vim命令行模式:

1## 插件安装 2:PluginInstall 3 4## 因为要安装go的集成开发环境,所以你会在这里遇到被墙的问题,好在google公司把这些包放在的github上,牛逼轰轰 5cd ~/godev/src/ 6make -P golang.org/x 7git clone https://github.com/golang/tools 8 9## vim-go的插件安装, 安装完成后,你的vim基本就ok了 10:GoInstallBinaries

安装后,写go代码,截图如下: hello,world

参考文献

  1. vim-go
  2. tools
  3. 所需即所获IDE
  4. vim
  5. 配置 VIM 的 Go 语言开发环境
  6. vim与IDE的比较

问题列表

  1. 如果你用mac安装vim版本时,可能会出现“Operation not permitted error while installing on Mac OS X”错误?

    答: 因为苹果加入了保护机制,不能修改/usr/bin下面的任何文件。所以./configure时 prefix指定为/usr/local就ok了. 具体见:https://github.com/tstack/lnav/issues/295;

  2. "YouCompleteme unavailable : no module named future"

    答:

    Great. To everyone encountering the issue, open a terminal, go to YCM folder (typically ~/.vim/bundle/YouCompleteMe), and run the following command:

    git submodule update --init --recursive If you still get the error, report back with a comment including your OS, your Vim version (vim --version), and the output of the command:

    :py import pprint; pprint.pprint(sys.path) inside Vim.

  3. 如果遇到其他有关问题,查找工具YouCompleteMe

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )