Vim'de + python özelliği nasıl etkinleştirilir


17

Bir vim eklentisi kurmak istiyorum, bu eklentinin bir +pythonözelliğe ihtiyacı var , bu yüzden vim açıp yazdığımda :versiongörüntüleniyor -python. Nasıl etkinleştirebilirim?

Teşekkürler.

Yanıtlar:


15

Vim'i kendiniz derlemeniz veya Python desteği ile derlenmiş önceden oluşturulmuş bir Vim paketi almanız gerekir.

Debian tabanlı bir sistemdeyseniz, en kolay yol vim-gnome veya vim-gtk paketini apt( apt install vim-gtkörneğin) ' dan indirmektir . Diğer dağıtımların yerleşik python desteği ile benzer bir paketi olabilir.

Vim'i kendiniz derlemeyi tercih ediyorsanız, Vim deposunu indirin ve şu şekilde aktarın --enable-pythoninterp:

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

Windows'da, gelen GVIM paketi alabilirsiniz burada Python desteği içerir.



1
Kendi derlenmiş paketleriniz için / usr / local / / usr altına kurulmalıdır. Bu paket yöneticisi yüklü şeyler berbat olabilir. Bağımlılıkları kurmanın en iyi yolu apt build-dep vim-nox
şuna

6

Çözüm 1:

  • yükleme vim-gtkpaketi

    sudo apt install vim-gtk   
    
  • Vim'i varsayılan düzenleyici olarak ayarla

    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    
    

Çözüm 2:

Aksi takdirde Vim'i kaynak kodundan derlemeniz gerekir (Debian tabanlı sistem kullandığınız varsayılarak)

Sisteminizi hazırlayın

  • Yüklemek

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
    
  • Zaten varsa Vim'i kaldırın

    sudo apt remove vim vim-runtime gvim  
    

yapılandır ve yap

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 

Kullanılarak deb paket hazırlama checkinstall

  • Ve bu paketi yükle

    cd /usr/vim && sudo checkinstall
    
  • Veya, --install=nocheckinstall ile bir paket kullanım seçeneği oluşturmak istiyorsanız

Vim'i varsayılan düzenleyici olarak ayarla

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   

Yeni Vim ikili dosyasını çalıştırdığınızı doğrulayın.

vim --version | grep python

Referans:
- Kaynaktan Vim Oluşturma
- checkinstall


3
Rastgele bir internet sitesindeki bazı borçlara bağlanmak yerine, resmi Vim'i +pythonmevcut Debian paketinden yüklemeyi tercih etmelisiniz . Bunun olması gerektiğine inanıyorumvim-gtk
Christian Brabandt

Yorum için @ChristianBrabandt teşekkürler, cevabımı güncelleyeceğim.
finn

Ben şimdiki Debian paketlerinin piton seçeneği inanıyoruz @ChristianBrabandt vim-gtk3ve vim-gtkdahil varsayılan olarak artık.
jacob

@jacob demek şu an debian +pythonartık içermiyor mu? Debian python3'e geçirilebilir mi?
Christian Brabandt

4

Windows için her zaman burada en son harici kütüphanelere karşı derlenmiş en son yamalı Vim 8.x sürümünü alabilirsiniz: Vim indirmeleri

En güncel sürümleri yayınlarken:

Derlenen en son güncelleme: 2017-02-23

Vim sürümü: 8.0.0363 Resmi yama günlüğü

Kullanılan kütüphaneler: 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 ve libXpm


3

Sisteminize, viminizle aynı bit değerine (32 bit veya 64 bit) sahip bir Python sürümü yüklemeniz gerekir. Python'un PATH'nizde olması gerekir. pythonBir komut istemi yazarak çalıştırabilirseniz , bu konuda iyi olmalısınız. Sonunda vim python desteklemek için derlenmiş olması gerekir, ancak benim durumumda çoğu vardır. Kontrol edin :versionve arayın python/dyn. Önünde bir artı olması gerekiyor.


2

Bu, python3 özelliğini etkinleştirmeyle yanlış yorumlanabileceğinden, ihtiyaçlarınıza göre bir kurulum için bu bağlantıdan bahsetmeyi faydalı buluyorum

İşte mükemmel kılavuzlar: * nix & windows .

Not : ./configure talimatındaki her karaktere dikkat edin ve yapmadan önce dikkatlice okuyun (vidalanacaksınız gibi). Ve sonuna kadar oku, kaybolmanın bir yolu yok

Bunu muhtemelen ./configure dosyasına eklemelisiniz:

--enable-fail-if-missing

Hem python 2 hem de 3'ü etkinleştirmekten kaçının

Acele etmeyin Bu çok iyi açıklanmış bir prosedürdür. Valloric'e teşekkürler


1

Mac OS X'te homebrewönce python'u sonra da vim'i yüklemek için kullanabilirsiniz , bu vim python'u destekleyecektir.

python/dynYukarıdaki yolla kurulan vim desteği olan MBP kullanıyorum , ancak dahil değil python3.


# Hatalı ve sil 2017.2.28 10:38 AM #


1
Ben doğru ya da değil okumak emin değilim ancak Vim aslında destekliyorsa yardım sayfasında, sen asla göremezsin notu +pythonveya -python. Bakmak zorundasın:version
Christian Brabandt

@ChristianBrabandt haklısın. Cevabın için teşekkürler.
Qingchen


1

Anaconda python kullananlar için bazı ek modifikasyonlar gereklidir. Özellikle kod tamamlamayı istiyorsanız, vim'i de derlemek isteyebilirler. Configure komutu şöyledir:

Anakonda için değiştirilmiş configure komutu:

 ./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"

Burada, vim yüklü /XXX/SOFTWARE/VIM8/install3python 3.6 için anaconda ortamını kullanıyor/XXX/anaconda2/envs/py36

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.