Qual è il modo più semplice per ottenere Vim con il supporto di Python 3?


19

Ho Ubuntu 14.04 installato e Vim nei suoi repository è compilato senza il supporto di Python 3. Per questo motivo, il plugin in modalità Python non può funzionare con il codice Python 3. Qual è il modo più semplice per ottenere Vim con il supporto di Python 3?

Risposte:


16

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).


Prima del 16.04

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/rulese 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, .debsaranno 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_*.debe, per le versioni GUI, vim-gui-common_*.deb. Ad esempio, con vim-gnomee la versione corrente di vimnei 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.


16.04

A partire dal 16.04, Ubuntu crea Vim con il supporto di Python 3. Pitone 2 supporto è fornito dal i -py2pacchetti ( vim-nox-py2, vim-gnome-py2ecc).


Relazionato:


Vim compilato in questo modo mi dà un errore quando provo a caricare le funzioni pymode: Questo Vim non può eseguire: py3 dopo aver usato: python. Quando stavo usando Gentoo invece di Ubuntu, vim utilizzava Python 3 e questo problema non esisteva.
CrabMan,

@CrabMan Leggi il primo paragrafo.
muru,

@CrabMan Quello che puoi provare è costruire solo con Python3 (essenzialmente scambiando python3 e python nelle linee già esistenti). Quindi tutto ciò che ha tentato di caricare python2 fallirà.
muru,

YouCompleteMe non disponibile: richiede Vim compilato con il supporto Python 2.x. Penso che sia una delle estensioni vim più importanti che uso, quindi non è un'opzione.
CrabMan,

Inoltre, per quanto ho capito, posso semplicemente includere la riga "py3 3" nel mio .vimrc e avrà lo stesso effetto della compilazione di vim con il solo supporto di python3.
CrabMan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.