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

来源:互联网 发布:ubuntu nano命令 编辑:程序博客网 时间:2024/06/14 19:22

这几天的经历

首先感谢各位乐意分享的爱折腾的程序员们,这几天翻过的文章太多了,就不一一点名了。没有你们,我就不会踩这么多坑,哈哈开玩笑的~
然后讲讲这几天的经历,没耐心的朋友可以跳过这段,我将从第二段开始讲述安装过程。这几天为了安装这个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慢了一个档次,这一点同样体现在其他一些插件上)

接下来就是具体安装过程

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

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

    ```yum install python-devel ncurses-devel# 如果想开启vim8支持python3,需要下载以下软件依赖yum install python3-devel ncurses-devel```
  3. 可选步骤,如果想安装gvim的话,需要额外的软件依赖


    yum install libXt-devel gtk2-devel

  4. 进入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:指定将要安装到的路径(自行创建)

  5. 编译安装

    makemake instal
    • 查看是否成功

       cd /usr/local/vim/bin ls 
    • 有这两个内容说明gvim和vim都安装成功了
      这里写图片描述

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

      ./vim --version|grep python

      这里写图片描述

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

    sudo mv /usr/bin/vim /usr/bin/vim7sudo ln -s /usr/local/vim/bin/vim /usr/binsudo ln -s /usr/local/vim/bin/gvim /usr/bin
  7. vim8升级成功后,下一步就是配置他了,首先我们需要安装vundle,这个VIM的一款插件,他主要负责管理VIM的插件。

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

      git clone https://github.com/gmarik/Vundle.vim.git  ~/.vim/bundle/Vundle.vim
    • 接下来,把下来的Vundle配置添加到配置文件的顶部:

      set nocompatible              " requiredfiletype off                  " required" set the runtime path to include Vundle and initializeset rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()" alternatively, pass a path where Vundle should install plugins"call vundle#begin('~/some/path/here')" let Vundle manage Vundle, requiredPlugin '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 linecall vundle#end()            " requiredfiletype plugin indent on    " required
    • 这样,你就完成了使用Vundle前的设置。之后,你就可以在配置文件中添加希望安装的插件,然后打开Vim编辑器,运行下面的命令:

      :PluginInstall
    • 这个命令告诉Vundle施展它的魔法——自动下载所有的插件,并为你进行安装和更新。ycm下载过程比较慢,需要耐心等待。
  8. 安装完成后,就是最后的设置以及编译工作了。

    • 在设置之前,又是非常重要的安装软件依赖,cmake安装教程。
    • clang安装(官方文档中有要求clang的版本需要高于3.9,但是我们用yum下载下来的比3.9要低一些,不过这个无所谓,在编译的时候,系统会自动下载最新版的clang):

      sudo yum install epel-release
      sudo yum install clang

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

     cd ~/.vim/bundle/YouCompleteMe ./install.py --clang-completer
  10. 经过漫长的编译,终于到了最后一步,进入.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' 
  11. 最后用gvim打开一个py文件,体验一下自动补全的效果吧
    这里写图片描述

原创粉丝点击