Risposte:
Sembra che sui sistemi basati su Debian (almeno) non puoi avere la tua torta e mangiarla anche tu. È Python 2 o Python 3. A causa del modo in cui sono costruite le librerie Python , puoi usare solo una variante all'interno di una sessione Vim. È possibile costruire con entrambi, ma se Python 2 viene chiamato in Vim, quindi Python 3 non può essere chiamato nella stessa sessione, e viceversa. Anche su Arch Linux, Vim è compilato solo con uno di Python 2 ( vim
, gvim
) o Python 3 ( vim-python3
, gvim-python3
).
Per ricostruire il Vim fornito dai repository:
sudo apt-get build-dep vim
apt-get source vim
cd vim-* # it will be vim-7.4.something
Modifica debian/rules
e sostituisci:
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)
Quindi eseguire:
dpkg-buildpackage -us -uc
Pranzare. (O tè se hai usato -j $(nproc)
.)
Ora, .deb
saranno stati creati più file nella directory principale. Per vedere quale:
cd ..
ls vim*.deb
Insieme con la particolare variante che si desidera installare ( vim
, vim-gnome
, vim-gtk
, ecc), si dovrà installare vim-common_*.deb
, vim-runtime_*.deb
e, per le versioni GUI, vim-gui-common_*.deb
. Ad esempio, con vim-gnome
e la versione corrente di vim
nei repository:
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
Poi:
$ vim --version | grep python
+cryptv +linebreak +python/dyn +viminfo
+cscope +lispindent +python3/dyn +vreplace
Il PPA pi-rho / dev costruisce Vim in questo modo, quindi puoi usare il PPA invece di costruirlo manualmente.
A partire dal 16.04, Ubuntu crea Vim con il supporto di Python 3. Pitone 2 supporto è fornito dal i -py2
pacchetti ( vim-nox-py2
, vim-gnome-py2
ecc).
Relazionato: