您的位置:首页 > 编程语言 > Python开发

扩展vim成python ide,主要讲述ycm+vim8的安装

2017-10-30 23:02 459 查看

这几天的经历

首先感谢各位乐意分享的爱折腾的程序员们,这几天翻过的文章太多了,就不一一点名了。没有你们,我就不会踩这么多坑,哈哈开玩笑的~

然后讲讲这几天的经历,没耐心的朋友可以跳过这段,我将从第二段开始讲述安装过程。这几天为了安装这个YouCompleteMe可是说是把能踩到的坑全踩了一遍,最后总算是安装成功了一大半。为什么说一大半,因为我安装成功的是基于centos7自带的python2.7,要想支持python3.6,根据官方的文章来看,也是一样的流程,不过我试的时候是失败告终。然后下面贴一下配置成功后的效果,以及参考过的比较有用的文章还有坑。





可以参考以下文章去扩展VIM:Vim与Python真乃天作之合:打造强大的Python开发环境

这个是我根据上面那篇文章所配置的vimrc文件,可供参考,点击下载。下载后将文件改名成.vimrc,然后扔进centos’~/’下,进入vim,输入:PluginInstall,等待插件下载完成即可使用。提示没有该命令的,请安装vundle插件。然后vimrc文件里有中文说明,utf-8编码,unix格式,还不知道操作的可以去看看上面提到的文章。

在windows下编辑的文件,发送到linux后,会存在一个格式的问题,可以参考这篇文章:扩展vim遇到的问题-windows与linux的文件格式问题

然后是升级vim8所遇到的问题,为什么要升级vim8,因为ycm支持的VIM版本需要高于7.4.15。shell中输入vim,进入vim界面的文字说明可以看到系统自带版本是7.4.16。这个版本不是高于7.4.15吗?为什么还要升级,你不升级VIM直接装ycm插件,就知道原因了。

升级vim8最大的问题就是如何设置vim8支持python。可参考:源码编译vim8 github文档

网上有些文章有提到vim8只支持py3,我的亲身经历证明这是错误的。但有一点是正确的,那就是编译vim8时,不能同时设置py2和py3的支持,只能选择其中一个版本,这点在github中也有提到,原文:”You can only use Python 2 or Python 3. If you try to compile vim with both python-config-dir and python3-config-dir, it will give you an error YouCompleteMe unavailable: requires Vim compiled with Python (2.6+ or 3.3+) support.”

如何在centos7中安装py3,并使得py3与系统自带的py2.7共存。可参考:centos7安装py3,并使得与系统自带的py2共存

gvim与vim的区别,上面贴出的截图就是使用的gvim。我的理解是gvim是vim的图形界面,也就是gui vim。也就是说,gvim和vim本质上是同一个东西,gvim是vim的图形界面而已,重点来了,gvim比vim要好看很多!!!什么?还有其他的一些特性区别是什么?难道好看还不够吗!(不过说实话,gvim的ycm自动补全的速度明显比vim慢了一个档次,这一点同样体现在其他一些插件上)

接下来就是具体安装过程

下载vim8源码,我将他存放在~/src文件夹下,下载完成后得到一个名为vim8的文件

cd ~/src
git clone https://github.com/vim/vim.git[/code] 
重点步骤,安装vim以及开启vim8支持python2.7所需的软件依赖

```
yum install python-devel ncurses-devel
# 如果想开启vim8支持python3,需要下载以下软件依赖
yum install python3-devel ncurses-devel
```


可选步骤,如果想安装gvim的话,需要额外的软件依赖

yum install libXt-devel gtk2-devel


进入vim8文件夹,执行configure自检脚本,可以自行添加或删除所不需要的选项。(切忌,万不可同时设置py2和py3的支持,只能选其中一个,想设置python3支持,请自行删除下面的py2支持,添加py3支持)。

删除之前的配置,如果你以前编译过Vim

make distclean


进入下载好的vim文件夹中

cd vim


启动自检程序,配置需要的功能,支持Python的版本以及路径需要自行修改

./configure --with-features=huge \
--enable-multibyte=yes \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config  \
--prefix=/usr/local/vim \
--enable-gui=gtk2 \
--enable-cscope=yes \
--enable-gui=yes


这里列举一些 ./configure 后面的配置选项,也可以输入./configure –help命令进行查看(需要在软件包的根目录下),红色部分需要根据实际路径修改

–enable-gui:开启vim图形界面,也就是gvim

–with-features=huge:支持最大特性

–enable-rubyinterp:打开对ruby编写的插件的支持

–enable-pythoninterp:打开对python编写的插件的支持

–enable-python3interp:打开对python3编写的插件的支持

–enable-luainterp:打开对lua编写的插件的支持

–enable-perlinterp:打开对perl编写的插件的支持

–enable-multibyte:打开多字节支持,可以在Vim中输入中文

–enable-cscope:打开对cscope的支持

–with-python-config-dir=/usr/lib/python2.7/config/ 指定python 路径

–with-python-config-dir=/usr/lib/python3.5/config/ 指定python3路径

–prefix=/usr/local/vim:指定将要安装到的路径(自行创建)

编译安装

make
make instal


查看是否成功

cd /usr/local/vim/bin
ls


有这两个内容说明gvim和vim都安装成功了



但是安装成功并不代表有python支持,输入一下代码,查看python的前头是否有+号,+号表示支持的功能,-号表示不支持

./vim --version|grep python




成功后添加软连接到/usr/bin,并将旧版的vim改名或删除,这里是将其改名为vim7。下面的指令执行成功后就可以输入vim7,vim,gvim查看效果了

sudo mv /usr/bin/vim /usr/bin/vim7
sudo ln -s /usr/local/vim/bin/vim /usr/bin
sudo ln -s /usr/local/vim/bin/gvim /usr/bin


vim8升级成功后,下一步就是配置他了,首先我们需要安装vundle,这个VIM的一款插件,他主要负责管理VIM的插件。

该命令将下载Vundle插件管理器,并将它放置在你的Vim编辑器bundles文件夹中。现在,你可以通过.vimrc配置文件来管理所有扩展了。

git clone https://github.com/gmarik/Vundle.vim.git  ~/.vim/bundle/Vundle.vim


接下来,把下来的Vundle配置添加到配置文件的顶部:

set nocompatible              " required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'

Plugin 'Valloric/YouCompleteMe'

" Add all your plugins here (note older versions of Vundle used Bundle instead of Plugin)

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required


这样,你就完成了使用Vundle前的设置。之后,你就可以在配置文件中添加希望安装的插件,然后打开Vim编辑器,运行下面的命令:

:PluginInstall


这个命令告诉Vundle施展它的魔法——自动下载所有的插件,并为你进行安装和更新。ycm下载过程比较慢,需要耐心等待。

安装完成后,就是最后的设置以及编译工作了。

在设置之前,又是非常重要的安装软件依赖,cmake安装教程。

clang安装(官方文档中有要求clang的版本需要高于3.9,但是我们用yum下载下来的比3.9要低一些,不过这个无所谓,在编译的时候,系统会自动下载最新版的clang):

sudo yum install epel-release

sudo yum install clang

.准备工作完成后,又到了编译以及连接ycm源代码的工作了

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer


经过漫长的编译,终于到了最后一步,进入.vimrc文件,在最下方添加设置

"设置全局配置文件的路径
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'

"设置全局Python路径
let g:ycm_server_python_interpreter='/usr/bin/python'


最后用gvim打开一个py文件,体验一下自动补全的效果吧

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vim centos