之前在51cto写过一篇vim补全插件youcompleteme的安装方法,主要针对python的,今天写一篇关于go的,其实大同小异。过几天把那篇也搬运过来。
先把主要的框架和步骤整理上来,主要是安装过程中的出错信息。再完善吧,没时间。
1。1-安装vim插件管理工具vundle
vundle官方网址:https://github.com/VundleVim/Vundle.vim
输入:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
1
1.2 打开~/.vimrc,进行配置
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
call vundle#end()
filetype plugin indent on
2-安装Go语言代码检查和代码高亮插件vim-go
vim-go官方网址:https://github.com/fatih/vim-go 安装这些插件的好方法还是先,或者先用git clone 下载下来。
安装方法
2.1 利用vundle进行安装
在~/.vimrc文件中的vundle插件配置处加上
Plugin 'fatih/vim-go'
1
然后用vim打开一个任意文件,在命令模式下执行
:PluginInstall
1
即会自动进入插件的安装,安装完毕会显示”Done !”。同理还可以在这里更新插件,更多用法可参考官方网址的指南。
注:在安装vim-go的过程中遇到的问题:
vim-go插件需要vim7.4.xxxx以上版本,centos正好低于这个版本,网上看到说vim8.0比7.4功能增加太多,不如直接升级到vim8.0.
升级步骤如下:
yum remove vim -y
yum remove -y vim-enhanced 先卸载旧的
yum install ncurses-devel wget https://github.com/vim/vim/archive/master.zip (也可以用git clone https://... 我下载的zip包解压不了不知道什么原因,所以用的git clone) unzip master.zip cd vim-master cd src/ ./configure make sudo make install vim
----------------------------------------
安装完成插件(:PluginInstall)后还要安装该插件vim-go的依赖库, 重新进入VIM, 执行命令
:GoInstallBinaries
执行该命令需要连网,关键在于科学上网,否则不能自动下载依赖,我花了近半个小时才安装好。
由于有些命令文件是无法自动安装完成,这就需要手动进行安装啦。首先对比目录,看缺少哪些命令没有安装完成,然后使用go get 去安装,也可以去gitHub上搜索,找到对应的命令源码之后,使用git clone 下载到本地,然后使用 go install命令进行安装即可。
安装该依赖组件时有一个库出错问题,如下:
vim-go: could not find 'gopls'. Run :GoInstallBinaries to fix it
处理 function
它说用GoInstallBinaries来fix it, 但是重新打开vim尝试使用该命令时又报错:
------------------------
vim-go: could not find 'gopls'. Run :GoInstallBinaries to fix it
处理 function
第 19 行:
E117: Unknown function: sendMessage
vim-go: gopls not found. Installing golang.org/x/tools/gopls@latest to folder /root/go/bin/
Error installing golang.org/x/tools/gopls@latest: go: cannot find main module; see 'go help modules'^@
vim-go: could not find 'gopls'. Run :GoInstallBinaries to fix it
处理 function
第 7 行:
E18: :let 中出现异常字符
--------------------------------
网上查据说是与go的版本有关,go11.1版本有问题,升级到12就没事,我因为担心破坏原来go环境,所以没升采用的以下方法:
export GO111MODULE=off 将该环境变量设置为off
go get golang.org/x/tools/gopls 使用go get 手动下载该依赖,下载前需要先设置好GOPATH
大家想尝试其他方法的可以参考以下几篇帖子:
https://github.com/golang/go/issues/26639
https://github.com/golang/go/issues/31997
https://blog.csdn.net/yuexiazhufeng/article/details/84570680
终于装好vim-go了,等待 Vim-go依赖的工具自动安装,如果安装成功后,会在 $GOPATH/bin 目录下生成。
2.2 在~/.vimrc文件中配置
在~/.vimrc文件中进行代码高亮配置(默认不高亮)
let g:go_highlight_types = 1
let g:go_highlight_fields = 1
let g:go_highlight_functions = 1
let g:go_highlight_function_calls = 1
let g:go_highlight_operators = 1
let g:go_highlight_extra_types = 1
————————————————
轮到这个重量级大杀器了,被称为vim中最好用的代码补全工具。
YCM功能强大,可实现多种语言的代码补全
YCM官方网址:https://github.com/Valloric/YouCompleteMe
3.1 利用vundle进行安装
在~/.vimrc文件中的vundle插件配置处加上
Plugin 'Valloric/YouCompleteMe'
1
然后用重新打开vim编辑器,在命令模式下执行
:PluginInstall
1
即会自动进入插件的安装,安装完毕会显示”Done !”。安装需要的时间视网络情况而定,我用了大概20分钟。
我在安装完成后报错,提示需要重启"Restart YCM", 但是重启了也不行,有一个办法是这样,我用了好使,不知道别人管不管用:
cd ~/.vim/bundle/YouCompleteMe/
./install.sh 不加参数,执行完成后,重启VIM就没有报错了。
3.2 编译
YMC安装完毕后还要进行编译方可使用,在编译时可选择语言,这里选择go语言
cd ~/.vim/bundle/YouCompleteMe/
./install.sh --go-completer
————————————————
我除了安装go补全,还安装了Python补全:
./install.sh --go-completer --clang-completer
安装成功的信息如下:
[100%] Built target ycm_core
-- The C compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Found PythonLibs: /usr/lib64/python2.7/config/libpython2.7.so (found version "2.7.5")
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/regex_build_MdMFGU
Scanning dependencies of target _regex
[100%] [100%] Building C object CMakeFiles/_regex.dir/regex_2/_regex_unicode.c.o
Building C object CMakeFiles/_regex.dir/regex_2/_regex.c.o
Linking C shared library /root/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/cregex/regex_2/_regex.so
[100%] Built target _regex
main.go:15:2: use of internal package golang.org/x/tools/internal/lsp/cmd not allowed
main.go:16:2: use of internal package golang.org/x/tools/internal/tool not allowed
-----------------------------
./install.sh 编译安装时,遇到错误:可能是不能连接外网的原因,需要解决科学上网。
*****如果要安装python补全功能,可能需要做以下操作:
yum install -y bzip2-devel bzip2-libs
yum install -y python-devel
yum install -y cmake make gcc gcc-c++
之后再编译安装:
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-complete
下面为设置Vimrc的配置:
4-安装代码结构展示插件Tagbar
Tagbar官方网址:https://github.com/majutsushi/tagbar
安装方法
4.1 安装前准备
安装gotags:
1、gotags是go语言编写的,直接使用go get命令安装:
go get -u github.com/jstemmer/gotags
1
2、安装ctags:
yum install ctags -y
————————————————
4.2 利用vundle进行安装
在~/.vimrc文件中的vundle插件配置处加上
Plugin 'Tagbar'
1
然后用vim打开一个任意文件,在命令模式下执行
:PluginInstall
1
即会自动进入插件的安装,安装完毕会显示”Done !”。
安装好Tagbar插件后,用vim打开go文件,输入“:Tagbar”就可以打开Tagbar
————————————————
5-安装目录结构展示插件NERDTree
NERDTree官方网址:https://github.com/scrooloose/nerdtree
安装方法
5.1 利用vundle进行安装
在~/.vimrc文件中的vundle插件配置处加上
Plugin 'scrooloose/nerdtree'
1
然后用vim打开一个任意文件,在命令模式下执行
:PluginInstall
1
即会自动进入插件的安装,安装完毕会显示”Done !”。
安装好Tagbar插件后,用vim打开go文件,输入“::NERDTree”就可以打开:NERDTree
————————————————
原文链接:https://blog.csdn.net/hsiffish/article/details/82313792
@@@安装vim配色方案
安装方法
1 利用vundle进行安装
在~/.vimrc文件中的vundle插件配置处加上
Plugin 'fatih/molokai'
1
然后用vim打开一个任意文件,在命令模式下执行
:PluginInstall
1
即会自动进入插件的安装,安装完毕会显示”Done !”。
2 在~/.vimrc文件中配置
在~/.vimrc文件中进行配置:
let g:rehash256 = 1
let g:molokai_original = 1
colorscheme molokai
————————————————
这里采用vim-go插件大神使用的一个配色方案,如下:
参考链接:https://blog.csdn.net/hsiffish/article/details/82313792
http://www.10qianwan.com/articledetail/320937.html