Apa cara termudah untuk mendapatkan Vim dengan dukungan Python 3?


19

Saya telah menginstal Ubuntu 14.04 dan Vim dalam reposnya dikompilasi tanpa dukungan Python 3. Karena itu, plugin mode-python tidak dapat bekerja dengan kode Python 3. Apa cara termudah untuk mendapatkan Vim dengan dukungan Python 3?

Jawaban:


16

Tampaknya pada sistem berbasis Debian (setidaknya) Anda tidak dapat memiliki kue dan memakannya juga. Baik Python 2 atau Python 3. Karena cara pustaka Python dibangun , Anda hanya dapat menggunakan satu varian dalam sesi Vim. Anda bisa membangun dengan keduanya, tetapi jika Python 2 dipanggil dalam Vim, maka Python 3 tidak bisa dipanggil dalam sesi yang sama, dan sebaliknya. Di Arch Linux juga, Vim hanya dikompilasi dengan salah satu dari Python 2 ( vim, gvim) atau Python 3 ( vim-python3, gvim-python3).


Sebelum 16.04

Untuk membangun kembali Vim yang disediakan oleh repositori:

sudo apt-get build-dep vim
apt-get source vim
cd vim-*  # it will be vim-7.4.something

Edit debian/rulesdan ganti:

ALLINTERPFLAGS+=--enable-pythoninterp --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--disable-python3interp

Dengan:

ALLINTERPFLAGS+=--enable-pythoninterp=dynamic --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--enable-python3interp=dynamic --with-python3-config-dir=$(shell python3-config --configdir)

Lalu lari:

dpkg-buildpackage -us -uc

Makan siang. (Atau teh jika Anda gunakan -j $(nproc).)

Sekarang, banyak .debfile akan dibuat di direktori induk. Untuk melihat mana:

cd ..
ls vim*.deb

Seiring dengan varian tertentu yang ingin Anda instal ( vim, vim-gnome, vim-gtk, dll), Anda akan harus menginstal vim-common_*.deb, vim-runtime_*.debdan untuk versi GUI, vim-gui-common_*.deb. Misalnya, dengan vim-gnome, dan versi saat ini vimdi repositori:

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

Kemudian:

$ vim --version | grep python
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      +python3/dyn     +vreplace

The pi-rho / dev PPA membangun Vim dalam mode ini, sehingga Anda dapat menggunakan PPA bukan secara manual bangunan itu.


16.04

Pada 16.04, Ubuntu membangun Vim dengan dukungan Python 3. Python 2 dukungan diberikan oleh para -py2paket ( vim-nox-py2, vim-gnome-py2, dll).


Terkait:


Vim yang dikompilasi dengan cara ini memberi saya kesalahan ketika mencoba memuat fungsi pymode: Vim ini tidak dapat menjalankan: py3 setelah menggunakan: python. Ketika saya menggunakan Gentoo sebagai ganti Ubuntu, vim menggunakan python 3 dan masalah ini tidak ada.
— CrabMan

@CrabMan Baca paragraf pertama.
— muru

@CrabMan Yang bisa Anda coba adalah membangun hanya dengan Python3 (pada dasarnya menukar python3 dan python pada baris yang sudah ada). Maka segala sesuatu yang mencoba memuat python2 akan gagal.
— muru

YouCompleteMe tidak tersedia: membutuhkan Vim yang dikompilasi dengan dukungan Python 2.x. Saya pikir itu salah satu ekstensi vim paling penting yang saya gunakan sehingga itu bukan pilihan.
— CrabMan

Sejauh yang saya mengerti saya hanya bisa memasukkan "py3 3" baris dalam .vimrc saya dan itu akan memiliki efek yang sama seperti mengkompilasi vim dengan hanya dukungan python3.
— CrabMan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.