• 安装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. redis的持久化RDB与AOF

    redis 持久化  Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失. RDB ...

  2. iOS中常见的设计模式(MVC/单例/委托/观察者)

    关于设计模式这个问题,在网上也找过一些资料,下面是我自己总结的,分享给大家 如果你刚接触设计模式,我们有好消息告诉你!首先,多亏了Cocoa的构建方式,你已经使用了许多的设计模式以及被鼓励的最佳实践. ...

  3. TensorFlow Action(开山使用篇)

    1.TensorFlow安装: 使用pip install tensorflow安装CPU版: 或使用pip install tensorflow-gpu==1.2.1指定版本安装GPU版. 2.Te ...

  4. 深入浅出,JS原型链的工作原理

    前言:原型链,即原型链条.它是由原型.原型的原型.原型的原型的原型...这一规则组合成的,经常被应用于继承. 原型的作用在JS中,每个对象都有自己的原型.当我们访问对象的属性和方法时,JS会先访问对象 ...

  5. c# wpf ComboBox 动态下拉框 及 动态默认值设定

    1.下拉框声明 <ComboBox x:Name="DirComboBox" Width="150" Height="18" Marg ...

  6. Javascript类型转换的规则实例解析

    http://www.jb51.net/article/79916.htm 类型转换可以分为隐式转换和显式转换,所谓隐式转换即程序在运行时进行的自动转换,显式转换则是人为的对类型进行强制转换.Java ...

  7. ffmpeg 调试

    --enable-debug=3 --disable-optimizations --disable-yasm --disable-asm

  8. linux应用之nginx的源码安装及配置(centos)

    1.准备工作选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL.Nginx是C写的,需要用GCC编译:Nginx的 ...

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

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

  10. bzoj 2251: 外星联络 后缀Trie

    题目大意 http://www.lydsy.com/JudgeOnline/problem.php?id=2251 题解 本来以为这道题应该从01序列的性质入手 结果就想歪了 等自己跳出了01序列这个 ...