vim是非常强大的编辑器,最近在写go的时候,想尝试下在vim中进行开发,在网上找了不少教程之后,还是遇到了不少的问题,就来说一下我的安装过程.
- 安装vim包管理器
$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- 安装vim-go
$ git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go
- 安装插件
将以下内容复制到 ~/.vimrc文件中
set nocompatible " be iMproved, required
filetype off " required" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
Plugin 'fatih/vim-go'
Plugin 'Valloric/YouCompleteme'" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
在vim命令模式下输入PluginInstall
:PluginInstall
- 安装vim-go下go的一些工具
在vim命令模式下输入GoInstallBinaries安装一些vim-go插件所需要的一些工具,这些工具会被放到$GOBIN目录下
:GoInstallBinaries
安装好后,执行vim打开vim,如果没有任何提示错误的信息,那么恭喜,vim下go的开发环境就已经搭建好了.
可惜有时候并不是那么一帆风顺的,下面就讲讲我所遇到的问题及解决办法
排错
- YCM提示vim版本过低
#卸载老版本vim
$ sudo apt remove vim-tiny vim-common vim-gui-common vim-nox
#安装新版本
$ git clone https://github.com/vim/vim.git
$ cd vim
$ ./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp=yes \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config \
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config \
--enable-perlinterp=yes \
--enable-luainterp=yes \
--enable-gui=gtk2 \
--enable-cscope \
--prefix=/usr/local
make VIMRUNTIMEDIR=/usr/local/share/vim/vim81
with-python-config-dir为/usr/lib/python*/下以config开头的目录,一般还有一些系统相关的信息.Ubuntu下with-python-config-dir 或者with-python3-config-dir只需要配置一个就可以了,如果两个都配置,可能会导致失败的.
然后运行vim时,提示错误信息为:
YouCompleteMe unavailable: requires Vim compiled with Python (2.7.1+ or 3.4+) support.
$ vim --version | grep python
+comments +libcall +python/dyn +visualextra
+conceal +linebreak +python3/dyn +viminfo
$ python --version
Python 2.7.12
明明现在已经有python的依赖的,而且版本也是对的,最终检查了以后,发现这个vim是我从github上下载的源码压缩包解压出来的,然后用git拉取源码后重新编译安装了以后,这个问题就解决了.
YCM server shutdown
重新安装了以后,运行vim提示的信息为:
The ycmd server SHUT DOWN (restart with :YcmRestartServer)
然后按照提示重启也没什么用,运行
:YcmToggleLogs ycmd_51731_stderr_8r5f09tg.log
发现并没有任何的日志信息.然后确定了一下YCM也是最新的代码,最后通过网上查找资料,在YCM的主目录下运行
$ git submodule update --init --recursive
等待一些第三方的包下载完成后,需要重新安装YCM,这个时候需要cmake,如果没有需要先安装,然后运行install.py 或者 install.sh脚本完成安装
#如果没有cmake才需要执行下面第一个命令
$ sudo apt install cmake
$ ./install.sh
等到安装完成之后,重新打开vim就没有任何的错误信息了,至此,vim下的go开发环境就已经搭建好了,好好享受吧~~.
其实遇到问题并不可怕,可怕的是没有任何错误信息,只要就错误信息,我们通过查看错误信息就可以解决了.