linux vim 配置 go 开发环境

  • 安装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=30
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