Cara mengaktifkan fitur + python di vim

17

Saya ingin menginstal plugin vim, plugin ini membutuhkan +pythonfitur, jadi ketika saya membuka vim dan ketik :versionitu akan ditampilkan -python. Bagaimana saya bisa mengaktifkannya?

Terima kasih.

Enrique GF
sumber

Jawaban:

15

Anda perlu mengkompilasi Vim sendiri atau mendapatkan paket Vim prebuilt yang dikompilasi dengan dukungan Python.

Jika Anda menggunakan sistem berbasis Debian, cara termudah adalah mengunduh paket vim-gnome atau vim-gtk dari apt( apt install vim-gtkmisalnya). Distro lain mungkin memiliki paket serupa dengan dukungan python bawaan.

Jika Anda lebih suka mengkompilasi Vim sendiri, unduh repositori Vim dan sampaikan --enable-pythoninterpseperti ini:

cd /tmp && git clone https://github.com/vim/vim.git && cd vim
./configure --enable-pythoninterp --prefix=/usr
make && sudo make install

Di Windows, Anda bisa mendapatkan paket Gvim dari sini yang mencakup dukungan Python.

akshay
sumber
Terima kasih. Saya juga menemukan ini, vi.stackexchange.com/questions/10242/vim-8-0-python-support
Enrique GF
1
Untuk paket yang Anda susun sendiri, harus diinstal di bawah / usr / local not / usr. Itu mungkin mengacaukan hal-hal yang diinstal manajer paket Cara terbaik untuk menginstal dependensi adalah sepertiapt build-dep vim-nox
wbkang
6

Solusi 1:

  • Instal vim-gtkpaket

    sudo apt install vim-gtk   
    
  • Tetapkan Vim sebagai editor default

    sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim.gtk 1   
    sudo update-alternatives --set editor /usr/bin/vim.gtk   
    sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim.gtk 1  
    sudo update-alternatives --set vi /usr/bin/vim.gtk   
    sudo update-alternatives --install /usr/bin/vi vim /usr/bin/vim.gtk 1  
    sudo update-alternatives --set vim /usr/bin/vim.gtk    
    

Solusi 2:

Kalau tidak, Anda perlu mengkompilasi Vim dari kode sumber (dengan asumsi Anda menggunakan sistem berbasis Debian)

Persiapkan sistem Anda

  • Install

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
    
  • Hapus Vim jika sudah

    sudo apt remove vim vim-runtime gvim  
    

konfigurasikan dan buat

cd /usr && sudo git clone https://github.com/vim/vim.git && cd vim  

sudo ./configure --with-features=huge \
--enable-multibyte \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ \  # pay attention here check directory correct
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/ \  # pay attention here check directory correct
--enable-gui=gtk2 \
--enable-cscope \ 
--prefix=/usr/local/

sudo make VIMRUNTIMEDIR=/usr/local/share/vim/vim81 

Mempersiapkan paket deb menggunakan checkinstall

  • Dan instal paket itu

    cd /usr/vim && sudo checkinstall
    
  • Atau, jika ingin hanya membuat --install=noopsi penggunaan paket dengan checkinstall

Tetapkan Vim sebagai editor default

sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1
sudo update-alternatives --set editor /usr/local/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 1
sudo update-alternatives --set vi /usr/local/bin/vim   

Verifikasi bahwa Anda menjalankan biner Vim baru dengan melihat

vim --version | grep python

Referensi:
- Membangun Vim dari Sumber
- checkinstall

Finn
sumber
3
Alih-alih menautkan ke beberapa deb di situs Internet acak, Anda sebaiknya merekomendasikan untuk menginstal Vim resmi dari paket Debian yang telah +pythontersedia. Saya percaya ini seharusnyavim-gtk
Christian Brabandt
Terima kasih @ChristianBrabandt untuk komentar, saya akan memperbarui jawaban saya.
finn
@ChristianBrabandt Saya percaya opsi python untuk paket Debian saat ini vim-gtk3dan vim-gtktidak lagi disertakan secara default.
jacob
@ jacob maksudmu debian saat ini tidak termasuk +pythonlagi? Mungkinkah debian beralih ke python3?
Christian Brabandt
4

Untuk Windows Anda selalu dapat mengambil versi patch terbaru dari Vim 8.x yang dikompilasi terhadap perpustakaan eksternal terbaru di sini: Vim unduhan

Pada saat memposting versi terbaru:

Pembaruan terkompilasi terbaru: 2017-02-23

Versi Vim: 8.0.0363 Log patch resmi

Perpustakaan yang digunakan: Perl 5.24.1, Python 2.7.12, Python 3.6.0, Racket 6.7, Ruby 2.4.0, Lua 5.3.3, Tcl 8.6.4, dan libXpm

Scott Wade
sumber
3

Anda perlu menginstal versi Python di sistem Anda dengan bitness yang sama (baik 32-bit atau 64-bit) sebagai vim Anda. Python harus berada di PATH Anda. Jika Anda dapat menjalankannya dengan mengetikkan pythonprompt perintah, Anda harus pandai dalam hal ini. Akhirnya vim perlu dikompilasi untuk mendukung python, tetapi dalam pengalaman saya kebanyakan. Periksa :versiondan cari python/dyn. Perlu memiliki nilai tambah di depannya.

Oktaviour
sumber
2

Karena ini bisa disalahtafsirkan dengan mengaktifkan fitur python3, saya menganggap berguna menyebutkan tautan ini untuk instalasi sesuai dengan kebutuhan Anda

Berikut ini panduan luar biasa untuk: * nix & windows .

Catatan : Perhatikan setiap karakter dalam instruksi ./configure dan baca dengan seksama (seolah-olah Anda akan gagal) sebelum melakukannya. Dan baca sampai akhir, tidak ada cara untuk tersesat

Anda mungkin harus menambahkan ini ke ./configure:

--enable-fail-if-missing

Hindari mengaktifkan kedua python 2 & 3

Luangkan waktu Anda Ini adalah prosedur yang dijelaskan dengan sangat baik. Terima kasih kepada Valloric

Federico Gallo
sumber
1

Pada Mac OS X, Anda dapat menggunakan homebrewuntuk menginstal python pertama dan kemudian vim, yang vim akan mendukung python.

Saya menggunakan MBP, dukungan vim python/dyndiinstal dengan cara di atas, tetapi tidak termasuk python3.


# Hapus salah ans 2017.2.28 10:38 #

qingchen
sumber
1
Saya tidak yakin apakah saya membacanya dengan benar atau tidak, tetapi perhatikan bahwa di halaman bantuan, Anda tidak akan pernah melihat, apakah Vim Anda benar-benar mendukung +pythonatau -python. Anda harus melihat ke dalam:version
Christian Brabandt
@ChristianBrabandt Anda benar. Terima kasih untuk balasan Anda.
qingchen
1

Untuk instalasi server tanpa menggunakan GUI vim-nox.

apt install vim-nox

Geraldo Luis da Silva Ribeiro
sumber
1

Bagi mereka yang menggunakan anaconda python, beberapa modifikasi tambahan dibalas. Mereka mungkin ingin mengkompilasi vim juga, terutama jika Anda menginginkan penyelesaian kode. Ini adalah perintah configure:

Perintah configure yang dimodifikasi untuk anaconda:

 ./configure --enable-terminal --enable-gui=auto \
      --with-features=huge \
      --enable-multibyte \
       --enable-cscope --enable-terminal --enable-gui=auto  \
      --prefix=/XXX/SOFTWARE/VIM8/install3 \
   --enable-python3interp \
   --with-python3-config-dir=/XXX/anaconda2/envs/py36/bin/python3.6-config \
   --includedir=/XXX/anaconda2/envs/py36/include  \
   --includedir=/XXX/anaconda2/envs/py36/include/python3.6m \
   LDFLAGS=" -L/XXX/anaconda2/envs/py36/lib -L/XXX/anaconda2/envs/py36/lib/python3.6/config-3.6m-x86_64-linux-gnu"

Di sini, vim sedang diinstal untuk /XXX/SOFTWARE/VIM8/install3menggunakan lingkungan anaconda untuk python 3.6 diinstal di/XXX/anaconda2/envs/py36

mengembara 95
sumber