Parece que en los sistemas basados en Debian (al menos) no puedes tener tu pastel y comerlo también. Es Python 2 o Python 3. Debido a cómo se construyen las bibliotecas de Python , solo puede usar una variante dentro de una sesión de Vim. Usted puede construir con ambos, pero si Python 2 se le llama en Vim, a continuación, Python 3 no puede ser llamado en la misma sesión, y viceversa. También en Arch Linux, Vim solo se compila con Python 2 ( vim
, gvim
) o Python 3 ( vim-python3
, gvim-python3
).
Antes del 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)
Entonces corre:
dpkg-buildpackage -us -uc
Almorzar. (O té si lo usaste -j $(nproc)
).
Ahora, .deb
se habrán creado varios archivos 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.), usted tiene que instalar vim-common_*.deb
, vim-runtime_*.deb
y para las versiones GUI, vim-gui-common_*.deb
. Por ejemplo, con vim-gnome
y la versión actual de vim
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
Luego:
$ vim --version | grep python
+cryptv +linebreak +python/dyn +viminfo
+cscope +lispindent +python3/dyn +vreplace
El PPA pi-rho / dev 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. 2 apoyo Python es proporcionada por los -py2
paquetes ( vim-nox-py2
, vim-gnome-py2
, etc.).
Relacionado: