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

这篇文章好多图片都挂掉了,对这篇文章有兴趣的话,可以去我的CSDN看看

扩展vim成python ide

这几天的经历

首先感谢各位乐意分享的爱折腾的程序员们,这几天翻过的文章太多了,就不一一点名了。没有你们,我就不会踩这么多坑,哈哈开玩笑的~
然后讲讲这几天的经历,没耐心的朋友可以跳过这段,我将从第二段开始讲述安装过程。这几天为了安装这个YouCompleteMe可是说是把能踩到的坑全踩了一遍,最后总算是安装成功了一大半。为什么说一大半,因为我安装成功的是基于centos7自带的python2.7,要想支持python3.6,根据官方的文章来看,也是一样的流程,不过我试的时候是失败告终。然后下面贴一下配置成功后的效果,以及参考过的比较有用的文章还有坑。
[图片上传失败...(image-41d78-1559663399724)]
[图片上传失败...(image-481273-1559663399724)]

  • 可以参考以下文章去扩展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慢了一个档次,这一点同样体现在其他一些插件上)

接下来就是具体安装过程

  1. 下载vim8源码,我将他存放在~/src文件夹下,下载完成后得到一个名为vim8的文件
cd ~/src
git clone https://github.com/vim/vim.git
  1. 重点步骤,安装vim以及开启vim8支持python2.7所需的软件依赖
yum install python-devel ncurses-devel
# 如果想开启vim8支持python3,需要下载以下软件依赖
yum install python3-devel ncurses-devel
  1. 可选步骤,如果想安装gvim的话,需要额外的软件依赖
yum install libXt-devel gtk2-devel
  1. 进入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:指定将要安装到的路径(自行创建)

  2. 编译安装

   make
   make instal
  1. 查看是否成功
    cd /usr/local/vim/bin
    ls 

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

[图片上传失败...(image-696d70-1559663399724)]

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

   ./vim --version|grep python

[图片上传失败...(image-a15dd5-1559663399724)]

  1. 成功后添加软连接到/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
    
  2. 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下载过程比较慢,需要耐心等待。
  1. 安装完成后,就是最后的设置以及编译工作了。

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

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

      sudo yum install epel-release
      sudo yum install clang

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

     cd ~/.vim/bundle/YouCompleteMe
     ./install.py --clang-completer
    
  3. 经过漫长的编译,终于到了最后一步,进入.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' 
  1. 最后用gvim打开一个py文件,体验一下自动补全的效果吧
    [图片上传失败...(image-dd67be-1559663399724)]

你可能感兴趣的:(扩展vim成python ide,主要讲述ycm+vim8的安装)