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: