Come abilitare la funzione + python in vim


17

Voglio installare un plugin vim, questo plugin ha bisogno di una +pythonfunzione, quindi quando apro vim e :versionlo digito viene visualizzato -python. Come posso abilitarlo ?.

Grazie.

Risposte:


15

Devi compilare Vim da solo o ottenere un pacchetto Vim precompilato che è stato compilato con il supporto Python.

Se utilizzi un sistema basato su Debian, il modo più semplice è scaricare il pacchetto vim-gnome o vim-gtk da apt( apt install vim-gtkad esempio). Altre distribuzioni potrebbero avere un pacchetto simile con supporto Python integrato.

Se preferisci compilare Vim da solo, scarica il repository Vim e passa in questo --enable-pythoninterpmodo:

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

Su Windows, puoi ottenere il pacchetto Gvim da qui che include il supporto Python.



1
Per i tuoi pacchetti compilati, dovrebbe essere installato in / usr / local not / usr. Ciò potrebbe rovinare roba installata da Gestione pacchetti. Il modo migliore per installare le dipendenze è qualcosa di simileapt build-dep vim-nox
wbkang

6

Soluzione 1:

  • Installa vim-gtkpacchetto

    sudo apt install vim-gtk   
    
  • Imposta Vim come editor predefinito

    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    
    

Soluzione 2:

Altrimenti devi compilare Vim dal codice sorgente (supponendo che stai usando un sistema basato su Debian)

Prepara il tuo sistema

  • Installare

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
    
  • Rimuovi Vim se ne hai già

    sudo apt remove vim vim-runtime gvim  
    

configura e crea

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 

Preparare il pacchetto deb usando checkinstall

  • E installa quel pacchetto

    cd /usr/vim && sudo checkinstall
    
  • Oppure, se si desidera semplicemente creare --install=noun'opzione di utilizzo del pacchetto con checkinstall

Imposta Vim come editor predefinito

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   

Verifica che stai eseguendo il nuovo binario Vim guardando

vim --version | grep python

Riferimento:
- Building Vim from Source
- checkinstall


3
Invece di collegarti ad alcuni deb su un sito Internet casuale, dovresti piuttosto raccomandare di installare il Vim ufficiale dal pacchetto Debian +pythondisponibile. Credo che dovrebbe esserevim-gtk
Christian Brabandt,

Grazie @ChristianBrabandt per il commento, aggiornerò la mia risposta.
Finlandia,

@ChristianBrabandt Credo che l'opzione di pitone per i pacchetti Debian attuali vim-gtk3e vim-gtknon è più incluso di default.
Jacob,

@jacob intendi che debian attuale non include +pythonpiù? Potrebbe essere debian passato a python3?
Christian Brabandt,

4

Per Windows puoi sempre prendere l'ultima versione patchata di Vim 8.x compilata con le ultime librerie esterne qui: Download di Vim

Al momento della pubblicazione delle versioni più recenti:

Ultimo aggiornamento compilato: 23/02/2017

Versione Vim: 8.0.0363 Registro patch ufficiale

Librerie utilizzate: 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 e libXpm


3

Devi installare una versione di Python sul tuo sistema con lo stesso testimone (32-bit o 64-bit) del tuo vim. Python deve essere nel tuo PERCORSO. Se puoi eseguirlo digitando pythonun prompt dei comandi, dovresti essere bravo in questo senso. Infine, vim deve essere compilato per supportare Python, ma nella mia esperienza la maggior parte lo è. Verificare con :versione cercare python/dyn. Deve avere un vantaggio di fronte.


2

Poiché ciò potrebbe essere interpretato erroneamente con l'abilitazione della funzione python3, ritengo utile menzionare questo collegamento per un'installazione in base alle proprie esigenze

Ecco delle guide eccellenti per: * nix e windows .

Nota : presta attenzione a tutti i caratteri nelle istruzioni ./configure e leggi attentamente (come se ti rovinassi) prima di farlo. E leggi fino alla fine, non c'è modo di perdersi

Probabilmente dovresti aggiungerlo a ./configure:

--enable-fail-if-missing

Evita di abilitare sia Python 2 che 3

Prenditi il ​​tuo tempo Questa è una procedura molto ben spiegata. Grazie a Valloric


1

Su Mac OS X, puoi usare homebrewper installare prima Python e poi VIM, che VIM supporterà Python.

Uso MBP, il supporto vim python/dyninstallato nel modo sopra, ma non incluso python3.


# Elimina errato ans.27.28 2017 10:38 #


1
Non sono sicuro di averlo letto correttamente o meno, ma nota che nella pagina di aiuto non puoi mai vedere se il tuo Vim supporta +pythono -python. Devi dare un'occhiata:version
Christian Brabandt,

@ChristianBrabandt hai ragione. Grazie per la tua risposta.
qingchen,


1

Per coloro che usano Anaconda Python, sono necessarie alcune modifiche aggiuntive. Potrebbero voler compilare anche vim, specialmente se si desidera il completamento del codice. Ecco il comando configure:

Comando di configurazione modificato per 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"

Qui, vim viene installato /XXX/SOFTWARE/VIM8/install3nell'uso dell'ambiente anaconda per l'installazione di python 3.6/XXX/anaconda2/envs/py36

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.