So aktivieren Sie die + Python-Funktion in vim

17

Ich möchte ein VIM-Plugin installieren, dieses Plugin benötigt also eine +pythonFunktion, wenn ich VIM öffne und tippe, wird :versiondiese angezeigt -python. Wie kann ich es aktivieren?

Vielen Dank.

Enrique GF
quelle

Antworten:

14

Sie müssen Vim selbst kompilieren oder ein vorgefertigtes Vim-Paket erwerben, das mit Python-Unterstützung kompiliert wurde.

Wenn Sie auf einem Debian-basierten System arbeiten, ist es am einfachsten, das Paket vim-gnome oder vim-gtk von apt( apt install vim-gtkzum Beispiel) herunterzuladen . Andere Distributionen haben möglicherweise ein ähnliches Paket mit eingebauter Python-Unterstützung.

Wenn Sie Vim lieber selbst kompilieren möchten, laden Sie das Vim-Repository herunter und übergeben Sie es --enable-pythoninterpwie folgt:

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

Unter Windows können Sie das Gvim-Paket hier herunterladen , das Python-Unterstützung enthält.

akshay
quelle
Vielen Dank. Das habe ich auch gefunden, vi.stackexchange.com/questions/10242/vim-8-0-python-support
Enrique GF
1
Für Ihre selbst kompilierten Pakete sollte es unter / usr / local not / usr installiert werden. Das kann das installierte Zeug des Paketmanagers durcheinander bringen. Der beste Weg, um Abhängigkeiten zu installieren, ist so etwas wieapt build-dep vim-nox
wbkang
6

Lösung 1:

  • vim-gtkPaket installieren

    sudo apt install vim-gtk   
    
  • Legen Sie Vim als Standardeditor fest

    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    
    

Lösung 2:

Andernfalls müssen Sie Vim aus dem Quellcode kompilieren (vorausgesetzt, Sie verwenden ein Debian-basiertes System).

Bereiten Sie Ihr System vor

  • Installieren

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
    
  • Entfernen Sie Vim, wenn Sie bereits haben

    sudo apt remove vim vim-runtime gvim  
    

konfigurieren und machen

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 

Deb-Paket mit checkinstall vorbereiten

  • Und installieren Sie das Paket

    cd /usr/vim && sudo checkinstall
    
  • Oder wenn Sie nur ein Paket erstellen möchten, verwenden Sie die --install=noOption mit checkinstall

Legen Sie Vim als Standardeditor fest

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   

Stellen Sie sicher, dass Sie die neue Vim-Binärdatei ausführen, indem Sie nachsehen

vim --version | grep python

Referenz:
- Erstellen von Vim aus dem Quellcode
- checkinstall

Finn
quelle
3
Anstatt auf irgendein Deb auf einer zufälligen Internetseite zu verlinken, sollten Sie eher empfehlen, das offizielle Vim aus dem +pythonverfügbaren Debian-Paket zu installieren . Ich glaube, das sollte seinvim-gtk
Christian Brabandt
Danke @ChristianBrabandt für den Kommentar, ich werde meine Antwort aktualisieren.
Finn
@ChristianBrabandt Ich glaube , die Python - Option für die aktuellen Debian - Pakete vim-gtk3und vim-gtkist nicht mehr standardmäßig enthalten.
Jacob
@jacob meinst du das aktuelle debian nicht +pythonmehr beinhaltet? Könnte es sein, dass Debian auf Python3 umgestellt wird?
Christian Brabandt
4

Für Windows können Sie immer die aktuellste gepatchte Version von Vim 8.x herunterladen, die mit den neuesten externen Bibliotheken kompiliert wurde: Vim-Downloads

Zum Zeitpunkt der Veröffentlichung der aktuellsten Versionen:

Letzte kompilierte Aktualisierung: 23.02.2017

Vim-Version: 8.0.0363 Offizielles Patch-Protokoll

Verwendete Bibliotheken: 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 und libXpm

Scott Wade
quelle
3

Sie müssen eine Python-Version auf Ihrem System installieren, die dieselbe Bit-Qualität (entweder 32-Bit oder 64-Bit) wie Ihre VIM hat. Python muss in Ihrem Pfad sein. Wenn Sie es ausführen können, indem Sie pythonan einer Eingabeaufforderung eingeben , sollten Sie in dieser Hinsicht gut sein. Schließlich muss vim kompiliert werden, um Python zu unterstützen, aber meiner Erfahrung nach sind es die meisten. Fragen Sie bei :versionund suchen Sie nach python/dyn. Es muss ein Plus davor haben.

Octaviour
quelle
2

Da dies mit der Aktivierung der Python3-Funktion fehlinterpretiert werden könnte, halte ich es für nützlich, diesen Link für eine Installation zu erwähnen, die Ihren Anforderungen entspricht

Hier sind ausgezeichnete Anleitungen für: * Nix & Windows .

Hinweis : Achten Sie auf jedes Zeichen in der Anweisung ./configure und lesen Sie es sorgfältig durch (als würden Sie es vermasseln), bevor Sie es tun. Und lesen Sie bis zum Ende, es gibt keine Möglichkeit, sich zu verirren

Sie sollten dies wahrscheinlich zu ./configure hinzufügen:

--enable-fail-if-missing

Vermeiden Sie es, Python 2 und 3 zu aktivieren

Nehmen Sie sich Zeit Dies ist ein sehr gut erklärtes Verfahren. Vielen Dank an Valloric

Federico Gallo
quelle
1

Unter Mac OS X können Sie homebrewzuerst Python und dann vim installieren, wobei vim Python unterstützt.

Ich benutze MBP, die vim-Unterstützung, python/dyndie auf die oben beschriebene Weise installiert wurde, aber nicht enthält python3.


# Falsche Ans 2017.2.28 10:38 AM löschen #

Qingchen
quelle
1
Ich bin mir nicht sicher, ob ich das richtig gelesen habe oder nicht. Beachten Sie jedoch, dass Sie auf der Hilfeseite niemals sehen können, ob Ihr Vim tatsächlich +pythonoder unterstützt -python. Das muss man sich ansehen:version
Christian Brabandt
@ChristianBrabandt du hast recht. Danke für deine Antwort.
Qingchen
1

Für eine Server-Installation ohne GUI verwenden Sie vim-noxstattdessen.

apt install vim-nox

Geraldo Luis da Silva Ribeiro
quelle
1

Für Benutzer von Anaconda Python sind einige zusätzliche Änderungen erforderlich. Sie möchten möglicherweise auch vim kompilieren, insbesondere wenn Sie die Code-Vervollständigung wünschen. Hier ist der Befehl configure:

Modifizierter Konfigurationsbefehl für 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"

Hier wird vim installiert, /XXX/SOFTWARE/VIM8/install3um eine Anaconda-Umgebung für Python 3.6 zu verwenden, in der installiert ist/XXX/anaconda2/envs/py36

wander95
quelle