¿Cuál es la forma más fácil de obtener compatibilidad con Vim con Python 3?

19

Tengo Ubuntu 14.04 instalado y Vim en sus repos es compilado sin el soporte de Python 3. Por eso, el complemento de modo python no puede funcionar con el código de Python 3. ¿Cuál es la forma más fácil de obtener compatibilidad con Vim con Python 3?

    
pregunta CrabMan 13.02.2015 - 19:51

1 respuesta

15

Parece que en los sistemas basados ​​en Debian (al menos) no puedes tener tu pastel y comértelo también. Es Python 2 o Python 3. Debido a la forma en que se crean las bibliotecas de Python , solo puede usar una variante dentro de una sesión de Vim. Usted puede construir con ambos, pero si se llama a Python 2 en Vim, entonces Python 3 no puede invocarse en la misma sesión, y viceversa. También en Arch Linux, Vim solo se compila con uno de Python 2 ( vim , gvim ) o Python 3 ( vim-python3 , gvim-python3 ).

Antes de 16.04

Para reconstruir el Vim que proporcionan los repositorios:

sudo apt-get build-dep vim
apt-get source vim
cd vim-*  # it will be vim-7.4.something

Editar debian/rules y reemplazar:

ALLINTERPFLAGS+=--enable-pythoninterp --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--disable-python3interp

Con:

ALLINTERPFLAGS+=--enable-pythoninterp=dynamic --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--enable-python3interp=dynamic --with-python3-config-dir=$(shell python3-config --configdir)

Luego ejecuta:

dpkg-buildpackage -us -uc

Almuerce. (O té si usaste -j $(nproc) .)

Ahora, múltiples archivos .deb se habrán creado en el directorio principal. Para ver cuál:

cd ..
ls vim*.deb

Junto con la variante particular que desea instalar ( vim , vim-gnome , vim-gtk , etc.), deberá instalar vim-common_*.deb , vim-runtime_*.deb y para las versiones de la GUI,% código%. Por ejemplo, con vim-gui-common_*.deb y la versión actual de vim-gnome en los repositorios:

sudo dpkg -i vim-gnome_7.4.052-1ubuntu3_amd64.deb vim-common_7.4.052-1ubuntu3_amd64.deb vim-gui-common_7.4.052-1ubuntu3_all.deb vim-runtime_7.4.052-1ubuntu3_all.deb

Entonces:

$ vim --version | grep python
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      +python3/dyn     +vreplace

El pi-rho / dev PPA construye Vim de esta manera, por lo que puede usar el PPA en lugar de construirlo manualmente.

16.04

A partir del 16.04, Ubuntu construye Vim con soporte para Python 3. El soporte de Python 2 es proporcionado por the vim paquetes ( -py2 , vim-nox-py2 , etc.).

Relacionado:

respondido por el muru 13.02.2015 - 21:00

Lea otras preguntas en las etiquetas