本文是针对像我这样的 VIM 小白而写的,所使用的 VIM-GO 插件虽然步骤简单但不够详细,特写此文以做记录和分享。欢迎各位大神纠正补充!

特别说明 本博文不是 Go 语言环境搭建教程,只是 VIM 插件部分的配置教程。如果需要了解如何下载及安装 Go 语言,请移步 配置 Go 语言开发环境的前半部分。

VIM 插件地址:github.com/fatih/vim-go

为了方便墙内用户,本博文所有要下载的 ZIP 包已经直接打包好:下载地址

安装 Pathogen

Pathogen 是 VIM 的一个插件管理器,很多插件都支持它,所以不要怕麻烦,因为安装它的步骤非常简单。

  1. 前往 Pathogen 首页,找到下方的最新版 Package ZIP 包下载链接。
  2. 下载解压后你会得到一个名称为 autoload 的目录,将目录下的文件 pathogen.vim 拷贝至 ~/.vim/autoload/pathogen.vim
  3. 编辑 ~/.vimrc 文件,在顶部加入行 call pathogen#infect()

安装 VIM-GO 插件

装好了插件管理器,就可以开始安装我们想要的插件了。

  1. 进入目录 ~/.vim/bundle 后执行命令 git clone https://github.com/fatih/vim-go.git
  2. 编辑 ~/.vimrc 文件,加入以下内容(最后一行用于禁止自动下载):
syntax enable
filetype plugin on
set number
let g:go_disable_autoinstall = 0
  1. 此时,插件本身已经安装完成,你可以根据 github.com/fatih/vim-go 的说明进行使用,其中要指出的是 <C-x><C-o> 为代码补全提示,且一般需要在输入 . 操作符之后使用。

安装 neocomplete 实时提示

如果想要实时的代码补全提示,可以通过安装 neocomplete 插件来实现,不过它对 VIM 的版本有比较高的要求,具体可以查看它的主页github.com/Shougo/neocomplete.vim

  1. 进入目录 ~/.vim/bundle 后执行命令 git clone https://github.com/Shougo/neocomplete.vim.git
  2. 编辑 ~/.vimrc 文件,加入行 let g:neocomplete#enable_at_startup = 1。这样就能在启动 VIM 时自动开启实时补全功能。

安装 molokai 主题

该 VIM-GO 插件的作者同样写了一个 VIM 的 molokai 主题:github.com/fatih/molokai

安装过程非常简单,就是下载他的 molokai.vim 文件然后放入 ~/.vim/colors 中。然后在 ~/.vimrc 文件加入行 colorscheme molokai 即可。

安装 tagbar

这个插件其实是可选的,但是看起来很牛逼的样子,于是我也琢磨了下。

  1. 首先果断的你需要先安装 ctags,我是 Mac 所以用的 brew install ctags 就搞定了。
  2. 然后 go get -u github.com/jstemmer/gotags 安装 Go 语言的相关解析器。
  3. 接着在你的 ~/.vimrc 文件加入以下内容:
let g:tagbar_type_go = {
\ 'ctagstype' : 'go',
\ 'kinds' : [
\ 'p:package',
\ 'i:imports:1',
\ 'c:constants',
\ 'v:variables',
\ 't:types',
\ 'n:interfaces',
\ 'w:fields',
\ 'e:embedded',
\ 'm:methods',
\ 'r:constructor',
\ 'f:functions'
\ ],
\ 'sro' : '.',
\ 'kind2scope' : {
\ 't' : 'ctype',
\ 'n' : 'ntype'
\ },
\ 'scope2kind' : {
\ 'ctype' : 't',
\ 'ntype' : 'n'
\ },
\ 'ctagsbin' : 'gotags',
\ 'ctagsargs' : '-sort -silent'
\ }
  1. 是时候装 tagbar 插件了,和安装 VIM-GO 一样,首先进入 ~/.vim/bundle 目录。然后执行 git clonehttps://github.com/majutsushi/tagbar.git
  2. 编辑 ~/.vimrc 文件,加入行 nmap <F8> :TagbarToggle<CR>。这是个快捷键映射,你可以把 F8 换成任意的。

全部搞完了就是下面这么霸气!

安装目录浏览器 nerdtree

俗话说得好,不能查看目录的编辑器不是一个好的 IDE!为了让我们的 VIM 看起来更加霸气,是绝对不能错过 nerdtree 这款插件的。

  1. 进入目录 ~/.vim/bundle 后执行命令 git clone https://github.com/scrooloose/nerdtree.git
  2. 编辑 ~/.vimrc 文件,加入行 map <C-n> :NERDTreeToggle<CR>。如此一来,当你需要浏览目录的时候,就可以使用快捷键<Ctrl+n> 来调出浏览窗口了。

很好,我们来纵览一下最终战果:

小结

到这里一个基本但是完整的配置过程就完成了,大家可以安装 VIM-GO 插件的文档,设置更多的快捷键,它支持非常多和非常实用的功能。另外,学习如何使用 VIM,建议可以像我一样从 简明 Vim 练级攻略 开始,每天练习一点点。

祝大家早日成为码神,哈哈!

原文:http://wuwen.org/article/38/setup-vim-go-dev-environment.html

[转]配置 VIM 的 Go 语言开发环境的更多相关文章

  1. Windows10下配置Linux下C语言开发环境

    今天为大家介绍如在Windows10下配置Linux下C语言开发环境,首先安装linux子系统:启用开发者模式 1.打开设置 2.点击更新和安全3.点击开发者选项 4.启用开发人员模式 5.更改系统功 ...

  2. Golang - OSX配置VIM下的Golang开发环境 (MacOS为例)

    测试环境 MacOS 10.12.6 首先安装VIM brew install vim 我已经安装了 Vim 8.0版本 然后安装 Vundle ,这是一个vim包管理器 git clone http ...

  3. 如何配置Notepad++的C_C++语言开发环境

    相信很多人用notepad++,但把其配置成为C/C++还是需要小折腾一下的.本人在网上找了很长时间,也没有一个统一的答案,而且很多人说的方法根本不管用,而且也不够通用,所以还是自己摸索了一下,分享给 ...

  4. 【Linux 操作系统】阿里云服务器 操作实战 部署C语言开发环境(vim配置,gcc) 部署J2EE网站(jdk,tomcat)

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 博客总结 : 设置SecureCRT ...

  5. 阿里云服务器 操作实战 部署C语言开发环境(vim配置,gcc) 部署J2EE网站(jdk,tomcat)

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 博客总结 : 设置SecureCRT ...

  6. Go语言开发环境配置

    一.我为什么要学习go语言 当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单.高效.内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的).到2014 ...

  7. (转载)Go语言开发环境配置

    一.我为什么要学习go语言 当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单.高效.内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的).到2014 ...

  8. Mac OSX下Go语言开发环境的搭建与配置--使用InteliJ IDEA 13

    折腾了一上午终于把go语言的ide配置好了. 其实GO语言的语法和特性早在去年的时候就学习了一遍.结果后来一直没机会进行开发,结果还是个GO小白.感叹一下,要学好一门编程语言唯一的途径就是多写代码.. ...

  9. Eclipse平台下配置Go语言开发环境(Win7)

    <Go语言编程>中写到:“从功能和易用性等方面考虑, Eclipse+GoEclipse.LiteIDE这两个环境在所有IDE里面是表现最好的”,所以笔者打算采用Eclipse+GoEcl ...

随机推荐

  1. SQL Server 自定义快捷键

    SQL Server程序员经常要在SSMS(SQL Server Management Studio)或查询分析器(2000以前)中编写T-SQL代码.以下几个技巧,可以提升工作效率. 以下说明以SS ...

  2. angular.js_$scope

    Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带. Scope 是一个对象,有可用的方法和属性. Scope 可应用在视图和控制器上. Angular ...

  3. Mac linux 安装memcached服务 用法

    今天在Mac上安装memcached服务的时候 由于安装memcached之前需要安装libevent依赖包 所以使用brew install libevent 安装过程中报错 Warning: Yo ...

  4. android studio没有浮现函数用法和属性说明?

    最近转用android studio,在使用eclipse和android studio时原本在鼠标停留处或智能提示能浮现文档相关内容,但我的是一直显示Fetching Documentation…… ...

  5. StreamReader 读取文本文件乱码问题

    解决读取文本文件乱码问题.我采取的是读取前先判断文本文件格式. StreamReader sr = new StreamReader(fullfileName, GetFileEncodeType(f ...

  6. Object.wait()与Object.notify()的用法

    http://www.cnblogs.com/xwdreamer/archive/2012/05/12/2496843.html 参考文献: object.wait()和object.notify() ...

  7. Windows环境下使用VS2005编译OpenSSL

    如何Windows环境下,使用VS2005编译OpenSSL,虽然这个问题在Baidu.Google上一堆,但安装中还是遇到些问题,在这里 记录下来希望能帮助大家不要在走弯路.注:我是在WinXP S ...

  8. 字符串解析运用-将字符串分解为多个整数,求各整数之和(华为oj)

    描述 输入内容是一个字符串,输出结果为一个字符串.要求在输入的字符串中识别出多个整数单元,并且对各个整数单元求和运算,最终输出一个字符串,输出的字符串内容是对各个整数单元求和的结果.两个整数单元之间以 ...

  9. Android apk反编译基础(apktoos)图文教程

    本文主要介绍了Android apk反编译基础,使用的工具是apktoos,我们将用图文的方式说明apktoos工具的使用方式,你可以参考这个方法反编译其它APK试试看了 很久有写过一个广工图书馆主页 ...

  10. JQuery使用和选择器

    1.优点 (1)能解决浏览器的兼容性JS问题 (2)解决JS代码冗余的问题 (3)动画效果更容易实现 2.压缩过的和不压缩的区别 (1)开发过程中用未压缩的:上线后用压缩版本. (2)版本问题:1.X ...