如何在vim中启用+ python功能


17

我想安装一个vim插件,该插件需要一个+python功能,因此当我打开vim并键入:versiondisplay时-python。如何启用它?

谢谢。

Answers:


15

您需要自己编译Vim或获取使用Python支持编译的预构建Vim软件包。

如果您使用的是基于Debian的系统,最简单的方法是从aptapt install vim-gtk例如)下载vim-gnome或vim-gtk软件包。其他发行版可能具有内置python支持的类似软件包。

如果您希望自己编译Vim,请下载Vim存储库并--enable-pythoninterp像这样传递:

cd /tmp && git clone https://github.com/vim/vim.git && cd vim
./configure --enable-pythoninterp --prefix=/usr
make && sudo make install

在Windows上,您可以从此处获得Gvim软件包,其中包括Python支持。


谢谢。我也发现了这个问题,vi.stackexchange.com/questions/10242/vim
Enrique GF

1
对于您自己的已编译软件包,应将其安装在/ usr / local下而不是/ usr下。这可能会弄乱软件包管理器中安装的内容。最好的安装依赖项的方法是apt build-dep vim-nox
wbkang

6

解决方案1:

  • 安装vim-gtk套件

    sudo apt install vim-gtk   
    
  • 设置Vim为默认编辑器

    sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim.gtk 1   
    sudo update-alternatives --set editor /usr/bin/vim.gtk   
    sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim.gtk 1  
    sudo update-alternatives --set vi /usr/bin/vim.gtk   
    sudo update-alternatives --install /usr/bin/vi vim /usr/bin/vim.gtk 1  
    sudo update-alternatives --set vim /usr/bin/vim.gtk    
    

解决方案2:

否则,您需要从源代码编译Vim(假设您使用的是基于Debian的系统)

准备系统

  • 安装

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
    
  • 如果已经有,删除Vim

    sudo apt remove vim vim-runtime gvim  
    

配置和制作

cd /usr && sudo git clone https://github.com/vim/vim.git && cd vim  

sudo ./configure --with-features=huge \
--enable-multibyte \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ \  # pay attention here check directory correct
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/ \  # pay attention here check directory correct
--enable-gui=gtk2 \
--enable-cscope \ 
--prefix=/usr/local/

sudo make VIMRUNTIMEDIR=/usr/local/share/vim/vim81 

使用checkinstall准备Deb软件包

  • 并安装该软件包

    cd /usr/vim && sudo checkinstall
    
  • 或者,如果只想--install=no通过checkinstall 创建软件包使用选项

设置Vim为默认编辑器

sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1
sudo update-alternatives --set editor /usr/local/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 1
sudo update-alternatives --set vi /usr/local/bin/vim   

通过查看来验证您正在运行新的Vim二进制文件

vim --version | grep python

参考:
- 从源代码构建Vim
- checkinstall


3
您应该建议从+python可用的Debian软件包中安装官方Vim,而不是链接到随机Internet站点上的Deb 。我认为应该是vim-gtk
Christian Brabandt

感谢@ChristianBrabandt的评论,我将更新我的答案。

@ChristianBrabandt我认为当前Debian软件包蟒蛇选项vim-gtk3vim-gtk不再由包括默认。
jacob

@jacob您的意思是当前的debian不再包含+python了?难道是debian改用python3吗?
Christian Brabandt

4

对于Windows,您始终可以在此处获取针对最新外部库编译的Vim 8.x的最新修补版本:Vim下载

在发布最新版本时:

最新编译更新:2017-02-23

Vim版本:8.0.0363 官方补丁日志

使用的库:Perl 5.24.1,Python 2.7.12,Python 3.6.0,Racket 6.7,Ruby 2.4.0,Lua 5.3.3,Tcl 8.6.4和libXpm


3

您需要在系统上以与vim相同的位数(32位或64位)安装Python版本。Python必须位于您的PATH中。如果可以通过python在命令提示符下键入命令来运行它,则在这方面应该会很好。最后,需要对vim进行编译以支持python,但以我的经验,大多数都是。检查:version并查找python/dyn。它前面必须有一个加号。


2

由于启用python3功能可能会误解此问题,因此我认为根据您的需要针对安装进行提及此链接很有用

以下是出色的指南:* nix和windows

注意:在执行此操作之前,请注意./configure指令中的每个字符并仔细阅读(好像您会搞砸一样)。读到最后,没有办法迷路

您可能应该将此添加到./configure中:

--enable-fail-if-missing

避免同时启用python 2和3

慢慢来,这是一个很好解释的过程。感谢Valloric


1

在Mac OS X上,您可以homebrew先安装python,然后再安装vim,该vim将支持python。

我使用MBP(python/dyn通过上述方法安装的vim支持),但不包括python3


#删除错误的ans 2017.2.28 10:38 AM#


1
我不确定我是否阅读正确,但是请注意,在您的帮助页面上,您的Vim是否真正支持+python或,您将看不到-python。您必须研究:version
Christian Brabandt

@ChristianBrabandt你是对的。感谢您的回复。
qingchen


1

对于使用anaconda python的用户,需要进行一些其他修改。他们可能还希望编译vim,特别是如果您想完成代码。这是configure命令:

修改了anaconda的configure命令:

 ./configure --enable-terminal --enable-gui=auto \
      --with-features=huge \
      --enable-multibyte \
       --enable-cscope --enable-terminal --enable-gui=auto  \
      --prefix=/XXX/SOFTWARE/VIM8/install3 \
   --enable-python3interp \
   --with-python3-config-dir=/XXX/anaconda2/envs/py36/bin/python3.6-config \
   --includedir=/XXX/anaconda2/envs/py36/include  \
   --includedir=/XXX/anaconda2/envs/py36/include/python3.6m \
   LDFLAGS=" -L/XXX/anaconda2/envs/py36/lib -L/XXX/anaconda2/envs/py36/lib/python3.6/config-3.6m-x86_64-linux-gnu"

在这里,将vim安装为/XXX/SOFTWARE/VIM8/install3使用anaconda环境安装在python 3.6中/XXX/anaconda2/envs/py36

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.