• 安装vim-go 插件

vim 暂时对golang 还不支持语法高亮,如果用户希望使用vim 开发golang 程序,还需要给vim 安装对应的插件

首先需要安装一个vim-pathogen vim插件管理工具

mkdir -p ~/.vim/autoload ~/.vim/bundle
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
cd ~/.vim/bundle/

编辑 ~/.vimrc 配置,增加以下内容

execute pathogen#infect()
syntax on
filetype plugin indent on

重启vim 即可安装成功,之后如果想要安装其他插件,只需把插件放到 ~/.vim/bundle 目录下, 重启vim ,vim-pathogen就会帮你自动安装好插件。

安装 vim-go 插件

vim-go 是一款go代码高亮和语法检查的插件,插件安装方式

cd ~/.vim/bundle/
git clone https://github.com/fatih/vim-go.git

然后使用vim 随意打开一个可编译的文件,然后执行安装vim-go 插件,该命令需要“科学上网”,因为要从网上download 对应的可执行文件

:GoInstallBinaries

vim安装网 vim-go 后,用户在vim 编写 .go 后缀的文件时,会对代码进行自动缩紧,由于作者非常不喜欢“自动缩紧”功能,所以坚决要关闭“自动缩紧”功能,关闭的方式,打开 ~/.vim/bundle/vim-go/indent/go.vim 文件,将以下内容注释掉(大约 19 - 21 行)。

但是由于 vim-go 插件会在退出编辑文件时直接格式化**.go 文件,所以注释掉也没有太大用处。

"setlocal autoindent
"setlocal indentexpr=GoIndent(v:lnum)
"setlocal indentkeys+=<:>,0=},0=)
  • 安装gocode插件

gocode是一款go的代码提示插件

执行以下命令安装gocode,这样在 ${GOPATH}/bin 目录下就有gocode 的可执行程序了

cd ${GOPATH}/src
go get github.com/nsf/gocode
go install github.com/nsf/gocode

再安装 vim-gocode (https://github.com/Blackrush/vim-gocode)

cd ~/.vim/bundle
git clone https://github.com/Blackrush/vim-gocode.git

这样 vim-gocode 插件就安装好了,用户再使用vim 打开 go 代码文件,通过 Ctrl+x、Ctrl+o 就可以出现函数可选列表。

  • 安装 tagbar

tagbar 下载地址

用户下载tagbar 后,将其解压到 ~/.vim/bundle 目录下,再此打开vim ,tagbar 就会自动生效 。

为了能够让tagbar 在打开文件时就能够自动生效,用户还需要修改 ~/.vimrc 文件,增加以下内容。

如果之前有使用tarlist 插件的,需要将它的 Tlist_Auto_Open 参数注释掉,免得同时打开。

nmap <Leader>tb :TagbarToggle<CR>
let g:tagbar_ctags_bin='/usr/bin/ctags'
let g:tagbar_width=
autocmd BufReadPost *.go,*.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen()

如果将tagbar 的所有文件都解压到 ~/.vim/bundle 目录,则如果禁用掉 vim-pathogen 插件,则tagbar 就不能够使用了,而且作者发现,如果使用 vim-pathogen 插件,会在编译文件时,莫名的启用换行自动缩进的功能。老实说,作者非常不喜欢 "换行自动缩进的功能" 功能,特别是在复制、粘贴时,会让内容显示得乱七八糟。所以作者推荐在安装 tagbar 插件时,使用最原始的方式,就是用户在下载tagbar 包并且解压后,将里面的 autoload、doc、plugin和syntax 目录下的内容一模一样的拷贝到 ~/.vim/ 目录下。

换言之,就是不使用 vim-pathogen 插件来让 tagbar 插件生效,这样用户就可以在禁用 vim-pathogen 插件后依然能够使用 tagbar 插件。

参考博客:

http://blog.csdn.net/zhang197093/article/details/78559903

http://blog.csdn.net/guestcode/article/details/45249367

tarbar 插件安装参考

http://www.vimer.cn/archives/2066.html , http://blog.csdn.net/dx2880/article/details/7868623

linux vim 配置 go 开发环境的更多相关文章

  1. Linux下配置PHP开发环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  2. vim配置python开发环境

    vim配置python开发环境 一.安装vim sudo apt-get install vim 二.vim基础配置 #Centos6.5 /usr/share/vim/vim72 vi /etc/v ...

  3. vim配置python开发环境(转)

    安装 因为许多Unix衍生系统已经预装了Vim,我们首先要确认编辑器是否成功安装: vim --version 如果已经安装了,你应该看到类似下面的文字: VIM - Vi IMproved 7.3 ...

  4. Linux下配置Golang开发环境

    前几天无意间看到了微信推送的golang开发的消息,看到golang那么牛逼,突然心血来潮想学习一下go.工欲善其事必先利其器,想做go开发,必须先配置好go的开发环境(就像开发Java先安装配置jd ...

  5. Vim配置IDE开发环境

    我的vim IDE界面: 1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get instal ...

  6. linux下配置LAMP开发环境,以及经常使用小细节

    本来安装没什么可说到.可是在linux其中easy会出现各种各样到问题. 我安装以后导致各种问题 比方php无法正常解析,数据库无法关闭,Apache无法开启等等........ 所以搞得我比較郁闷, ...

  7. Linux 下配置php开发环境

    windows下有一键安装的环境很方便,不过现实中常常服务器是linux系统.想要搭建环境怎么搞呢? 边学变发直播博客,不定期更新.

  8. vim配置php开发环境

    1.ctags-用于代码间的跳转 安装 sudo apt-get install ctags 使用 1). 在某个目录下, 建立tags. ctags -R . --执行之后会在当前目录下生成一个ta ...

  9. vim配置clojure开发环境备忘录

    1 需要使用的插件 vundle 使用教程 http://www.cnblogs.com/respawn/archive/2012/08/21/2649483.html vim-fireplace h ...

随机推荐

  1. css三角形实现的几种方法的区别

    演变: .triangle{ height: 30px; width: 30px; display: inline-block; border: 30px solid; border-color: # ...

  2. html(HyperText Markup Language)--超文本标记语言

    1.html的简介? * 什么是html? ** HyperText Markup Language:超文本标记语言,网页语言 ** 超文本:超出文本的范畴,使用html可以轻松实现这样操作: ** ...

  3. ubuntu 14.4 下 普通sudo无密码

    用户是test,要设置为 sudo无密码 visudo 最后一行 加上: %test  ALL=NOPASSWD:ALL 然后  ctrl + x 进行保存,会提示 Y or  N,输入 y 即可. ...

  4. python的tkinter对话框

    import tkinter.messagebox #这个是消息框,对话框的关键 root = tkinter.Tk() root.withdraw() a=tkinter.messagebox.sh ...

  5. 51nod【1196】字符串的数量

    超级神题! 有n种字符,若此种字符的编号( \(1\) ~ \(n\)),\(i*2>n\),则他后面可接任意字符.若不是,则他后面接的字符编号至少要是他的两倍. 问长度为m的字符串的个数. 这 ...

  6. Java集合的有序无序问题和线程安全与否问题

    首先,清楚有序和无序是什么意思: 集合的有序.无序是指插入元素时,保持插入的顺序性,也就是先插入的元素优先放入集合的前面部分. 而排序是指插入元素后,集合中的元素是否自动排序.(例如升序排序) 1.有 ...

  7. LNMP安装(二)

    PHP安装 1.yum安装一些依赖库 yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel ...

  8. unity3d: how to display the obj behind the wall

    透墙显示,遮挡显示,使用ztest Tags { "Queue"="Overlay+1" "RenderType"="Transp ...

  9. CentOS 性能监控之nmon

    工具集: Nmon  性能数据收集分析工具Nmon analyser 性能数据分析工具,excel文件nmon_x86_sles10  Nmon在x86_sles10下二进制执行文件 nmon概述 n ...

  10. 谈"零缺陷"

    在刚参加工作初期的一次关于质量的培训中,第一次听到"零缺陷"这个词懵懵懂懂,当成一道概念题给记下.今年重读<质量免费>时对与零缺陷的部分始终心存疑虑,最近读<第一 ...