Ubuntu 16.04 VIM没有python支持!

虽然Ubuntu 16.04发行说明中提到:

默认的VIM包是针对python3而不是python2构建的。

在用以下命令安装vim之后:

sudo apt-get install vim 

并检查:

 vim --version 

这显示了:

 -python -python3 

这是一个错误吗? 如何通过Python支持获得vim?

如果你想在vim中支持Python 3, 请安装vim-nox软件包( sudo apt install vim-nox ), 请参阅下面的编辑

但是,如果仍需要Python 2支持,请安装vim-nox-py2软件包( sudo apt install vim-nox-py2 )。

编辑vim最近更新以解决此问题,您不再需要安装vim-nox包来获得Python 3支持。

尝试安装vim-gnome而不是vim。

 sudo apt-get install vim-gnome 

如果这可以提供帮助,可以通过下载最新版本的python-support_X.X.X_all.deb安装python-support软件包: https ://launchpad.net/ubuntu/+source/python-support打开一个终端相同的文件夹并安装:

 dpkg -i python-support_X.X.X_all.deb 

看看它是否有帮助

在Artful 17.10中,很难获得带有python2和python3支持的vim副本。 pi-rho的PPA设置有以前版本的包,但17.10还没有。

这就是我在17.10 Artful上运行pi-rho packags的方法:

  1. 卸载所有vim包(这将强制你卸载“ubuntu-minimal”)
  2. 从这里下载以“~z”结尾的vim包
  3. 下载包perl-modules-5.24和libperl5.24
  4. 使用dpkg安装它们:转到下载目录并执行sudo dpkg -i libperl5.24_5.24.1-2ubuntu1.1_amd64.deb perl-modules-5.24_5.24.1-2ubuntu1.1_all.deb vim*.deb
  5. 重新安装“ubuntu-minimal”: sudo apt install ubuntu-minimal
  6. 锁定vim版本
    • 打开synaptic包管理器并突出显示刚刚安装的vim包。 转到包 – >“锁定版本”
    • 您可能还需要使用sudo apt-mark hold来“保存”每个软件包(例如sudo apt-mark hold vim-common vim-gnome

Ubuntu 17.10上 ,编译是对我有用的解决方案:

直接受到这个要点的启发,我做了以下几点:

 sudo apt-get remove --purge vim vim-runtime vim-gnome vim-tiny vim-gui-common sudo apt-get install checkinstall sudo rm -rf /usr/local/share/vim /usr/bin/vim cd /tmp && git clone https://github.com/vim/vim cd vim/src make distclean cd .. ./configure --enable-multibyte --enable-perlinterp=dynamic --enable-pythoninterp=dynamic --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu --enable-cscope --enable-gui=auto --with-features=huge --with-x --enable-fontset --enable-largefile --disable-netbeans --with-compiledby="put your name here" --enable-fail-if-missing make sudo make install sudo ln -s /usr/local/bin/vim /usr/bin/vim 

不要忘记调整./configure参数,以便拥有所需的所有其他function。

现在你可以打开vim并运行命令:echo has('python')确认你启用了python 2。

安装vim-nox-py2然后运行

 sudo update-alternatives --config vim 

为我工作。