Parece que em sistemas baseados no Debian (pelo menos) você não pode ter seu bolo e comê-lo também. É o Python 2 ou o Python 3. Devido ao modo como as bibliotecas Python são construídas , só pode usar uma variante dentro de uma sessão do Vim. Você pode construir com ambos, mas se o Python 2 for chamado no Vim, o Python 3 não poderá ser chamado na mesma sessão e vice-versa. No Arch Linux também, o Vim é compilado apenas com o Python 2 ( vim
, gvim
) ou o Python 3 ( vim-python3
, gvim-python3
).
Antes de 16.04
Para reconstruir o Vim que os repositórios fornecem:
sudo apt-get build-dep vim
apt-get source vim
cd vim-* # it will be vim-7.4.something
Edite debian/rules
e substitua:
ALLINTERPFLAGS+=--enable-pythoninterp --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--disable-python3interp
Com:
ALLINTERPFLAGS+=--enable-pythoninterp=dynamic --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--enable-python3interp=dynamic --with-python3-config-dir=$(shell python3-config --configdir)
Em seguida, execute:
dpkg-buildpackage -us -uc
Almoce. (Ou chá, se você usou -j $(nproc)
.)
Agora, vários arquivos .deb
serão criados no diretório pai. Para ver qual:
cd ..
ls vim*.deb
Juntamente com a variante específica que você deseja instalar ( vim
, vim-gnome
, vim-gtk
, etc.), instale vim-common_*.deb
, vim-runtime_*.deb
e, nas versões da GUI,% código%. Por exemplo, com vim-gui-common_*.deb
e a versão atual de vim-gnome
nos repositórios:
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
Então:
$ vim --version | grep python
+cryptv +linebreak +python/dyn +viminfo
+cscope +lispindent +python3/dyn +vreplace
O pi-rho / dev PPA cria o Vim dessa maneira, para que você possa usar o PPA em vez de construí-lo manualmente.
16,04
A partir de 16.04, o Ubuntu constrói o suporte ao Vim with Python 3. O suporte do Python 2 é fornecido por vim
pacotes ( -py2
, vim-nox-py2
, etc.).
Relacionados: