Wie kann ich eine neuere Version von Vim auf Ubuntu bekommen?

34

Ubuntus Pakete können ziemlich alt sein, aber für einige Desktop-Programme (wie Vim) hätte ich lieber die neueste Version, da neuere Versionen häufig verschiedene Fehler beheben.

Wie kann ich eine einigermaßen aktuelle Vim-Version auf Ubuntu bekommen?

Martin Tournoij
quelle
Vielleicht funktioniert Jonathonfs PPA für Sie. Aber besser, wenn Sie Ubuntu 16.04 verwenden, denn er sagt: "Ab dem 24. Oktober werde ich nur für 14.04 packen, wenn es ein einfaches Update ist."
Joeytwiddle
4
@joeytwiddle Die Sache mit PPAs ist jedoch, dass Sie einem zufälligen Fremden aus dem Internet (Random Stranger From The Internet ™) mit Root-Zugriff auf Ihr System vertrauen , was je nach Ihren Sicherheitsanforderungen und dem Grad der Paranoia möglicherweise keine gute Idee ist (siehe: Sind PPAs sicher?) hinzufügen zu meinem System und was sind einige „rote Flaggen“ zu beachten? und gibt es eine Garantie , dass die Software von Launchpad PPA frei von Viren ist und Backdoor - Bedrohungen? ).
Martin Tournoij

Antworten:

49

Sie haben drei verschiedene Möglichkeiten:

  • Warten Sie, bis die neuesten Versionen zu den Distributionspaketen hinzugefügt wurden. Beachten Sie, dass Sie möglicherweise eine neue Sprache lernen oder mit bloßen Händen ein Schiff bauen möchten, während Sie warten.

Wenn es Ihnen nicht gut tut, mehrere Jahre zu warten, haben Sie zwei Möglichkeiten:

  • Verwenden Sie eine PPA mit der neuesten Version:
    • Vorteile:
      • Leicht zu schaffen.
      • Völlig automatisiert.
      • Sie können Vim wie jede andere Software installieren.
    • Nachteile:
      • Grundsätzlich gewähren Sie einem Fremden Root-Rechte.
      • Diese Methode funktioniert nur unter Ubuntu und den abgeleiteten Distributionen mit PPA-System.
  • Erstellen Sie Vim aus folgenden Quellen:
    • Vorteile:
      • Sie erhalten eine Feinabstimmung der von Ihnen aktivierten Optionen (GUI, Python / Lua-Unterstützung usw.).
      • Sie erhalten die neueste Version und benötigen keinen Drittanbieter, um sie zu erhalten.
      • Es ist immer nützlich zu lernen, wie man eine Software aus Quellen kompiliert.
      • Dies ist eine verteilungsunabhängige Methode.
    • Nachteile:
      • Nicht so automatisiert wie die PPA-Option.
      • Kann für einen neuen Benutzer beängstigend sein.

In zwei letzteren Fällen wird für diese Optionen wie folgt vorgegangen:


PPA

Hier ist ein Online-Tutorial auf tipsonubuntu.com (Danke @joeytwiddle, der es in den Kommentaren vorgeschlagen hat).

Öffnen Sie zuerst ein Terminal und verwenden Sie den folgenden Befehl. Dies fügt das von joathonf gepflegte Personal Packet Archive (PPA) zu Ihren Repos hinzu und teilt Ubuntu mit, wo nach Vim gesucht werden muss:

sudo add-apt-repository ppa:jonathonf/vim

Ich wiederhole hier, dass Sie damit den Skripten in dieser PPA die Root-Rechte geben. Tun Sie dies nur, wenn Sie ihm vertrauen . Vielleicht möchten Sie lesen, ob PPAs sicher zu meinem System hinzugefügt werden können, und worauf sollten Sie achten? und gibt es keine Garantie , dass die Software von Launchpad PPA ist frei von Viren und Backdoor - Bedrohungen? .

Aktualisieren Sie die Paketliste, damit Ubuntu in der PPA nach den Vim-Dateien sucht:

sudo apt update

Zum Schluss installiere vim:

sudo apt install vim

Und tada! Vim ist installiert. Beachten Sie, dass Sie dies auch über den GUI-Paketmanager tun können.

Beachten Sie, dass dies nicht die einzige PPA verfügbar mit neueren Vim - Versionen können Sie Ihre Lieblings - Suchmaschine verwenden , um mehr zu erfahren (und tun erinnern Sie einige Fremde aus dem Internet mit Root - Zugriff auf Ihr System zu vertrauen).


Bauen aus Quellen

Eine zweite Möglichkeit besteht darin, Vim aus Quellen zu erstellen. Dies impliziert einige zusätzliche Manipulationen und kann für einen neuen Benutzer beängstigend sein, aber es ist der beste Weg, um den letzten Build zu erhalten.

Es gibt verschiedene Online-Ressourcen, die Sie durch dieses Verfahren führen:

Eine allgemeine Vorgehensweise ist die folgende. Möglicherweise müssen Sie sie an Ihre Bedürfnisse anpassen, aber die Hauptidee ist hier:

Möglicherweise müssen Sie zuerst einige Abhängigkeiten installieren. Verwenden Sie zum Beispiel diesen Befehl (vorgeschlagen von YouCompleteMe Wiki):

sudo apt-get update
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
    libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
    libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
    python3-dev ruby-dev lua5.1 lua5.1-dev libperl-dev git

Beachten Sie, dass Sie möglicherweise nicht alles benötigen: Wenn Sie beispielsweise Lua nicht verwenden, nehmen Sie es nicht lua5.1-devin die Liste auf .

Bearbeiten Anstelle des vorherigen apt-get installBefehls können Sie Folgendes verwenden. Es hat den Vorteil, dass die benötigten Abhängigkeiten automatisch verarbeitet werden:

sudo apt-get build-dep vim

Holen Sie sich dann die Quellen auf Ihren Computer (Sie müssen den gitBefehl mit installieren apt-get install git):

git clone https://github.com/vim/vim.git

Gehe in dieses Verzeichnis und 'ziehe' die letzten Änderungen:

cd vim
git pull

Wenn Sie einen Fehler haben, git pullweil Sie bereits Änderungen vorgenommen haben, können Sie Ihre Änderungen "verstecken" (dh vorübergehend entfernen), die Änderungen übernehmen und dann Ihre Änderungen wiederherstellen. Wenn Sie dies getan haben, gehe ich davon aus, dass Sie mit git vertraut sind und nicht das Verfahren bereitstellen, das zu befolgen ist (es wird im Dokument vim.org beschrieben).

Sie können Vim dann wie jede andere Software aus Quellen erstellen. Die Datei src / INSTALL sollte Ihnen die Informationen liefern, die Sie zum Kompilieren von Vim benötigen.

Ein regulärer Workflow würde beginnen mit:

./configure --with-features=huge --enable-gui=auto

Entfernen --enable-guiSie, wenn Sie gVim nicht möchten .

Wenn Sie auf dem Computer, auf dem Sie Vim installieren, keinen Root-Zugriff haben, möchten Sie möglicherweise die --prefixOption hinzufügen, mit der Sie ein Verzeichnis verwenden können, in dem Sie über Zugriffsrechte verfügen. Zum Beispiel könnten Sie verwenden:

./configure --with-features=huge --enable-gui=auto --prefix=$HOME/local/vim

Das configureSkript kann viele Argumente benötigen, um die zu aktivierenden Funktionen abzustimmen. Das Ausführen dauert eine Weile. Während der Ausführung werden Meldungen gedruckt, in denen angegeben wird, nach welchen Funktionen gesucht wird.

Sobald es konfiguriert ist, können Sie das Programm kompilieren mit:

make

Es gibt einen optionalen Befehl, um einige Selbstprüfungen durchzuführen ( frag mich nicht, was sie genau tun, ich überspringe sie immer :-) ):

make check

Installieren Sie schließlich Vim auf /usr/local/(für diesen Befehl sind die Root-Berechtigungen erforderlich):

sudo make install

Um die jetzt nicht mehr benötigten Dateien zu entfernen, die für die Kompilierung erstellt wurden, können Sie Folgendes ausführen:

make clean
make distclean

Und hier bist du mit einem neuen Vim installiert.

Sie werden wahrscheinlich alle Vim entfernen möchten Sie aus dem Ubuntu - Repo installiert haben, aber Sie nicht brauchen , um. Standardmäßig wird Vim nicht auf /usr/local/, sondern auf installiert /usr/. Stellen Sie einfach sicher, dass Sie die richtige Vim-Version ausführen (dh /usr/local/bin/vimund nicht /usr/bin/vim).

statox
quelle
1
In Bezug auf Abhängigkeiten sudo apt-get build-dep vimist es noch einfacher zu bedienen. Ansonsten hätte ich einen Hinweis hinzugefügt, --prefixda nicht alle von uns Root-Rechte haben, was ziemlich häufig ist.
Luc Hermitte
@LucHermitte danke für diese Vorschläge. Was apt-get build-dep vimSie betrifft, möchten Sie es im letzten Schritt der PPA-Installation verwenden, oder? Nun dazu --prefixist in der Tat ein wichtiger Hinweis hinzuzufügen: Ist --prefix=/usrein sicherer Ort zu beraten oder würden Sie ein anderes Verzeichnis empfehlen (z. B. --prefix=~/bin)?
statox
Der build-depBefehl kann anstelle von verwendet werden sudo apt-get install libncurses5-dev ..... In Bezug auf --preffixseine typische Verwendung ist --prefix=$HOME:, aber in letzter Zeit habe ich verwendet --prefix=$HOME/local/vim. Auf diese Weise ist das Deinstallieren einer Software so einfach wie das rm -rEntfernen .profile.bashrc
einiger
@ LucHermitte Ok für prefix. Denn build-depich muss sagen, dass ich mit diesem Befehl nicht so vertraut bin, daher fürchte ich, dass ich es nicht richtig verstehe: Soweit ich weiß, apt-get build-dep vimwürden die Abhängigkeiten für das Paket installiert vim. Da wir hier jedoch nicht das neueste vim-Paket in den Paketquellen haben (da wir aus den Quellen bauen), wie installiert der Befehl die richtigen Abhängigkeiten? Wenn ich versuche, Vim8 aus Quellen zu erstellen und meine Paketliste vim7.4 enthält, apt-get build-dep vimwerden dann die Abhängigkeiten von vim7.4 installiert, oder? (Ich kann es
momentan
Es installiert die Abhängigkeiten, die wir zum Kompilieren von vim-Quellcode benötigen, den wir von github erhalten können. Auf diese Weise müssen wir nicht alle vom Vim-Quellcode verwendeten Bibliotheken aufspüren. Solange der Quellcode, den wir kompilieren, nicht von einer nicht gepackten Version einer Bibliothek abhängt, ist dies vollkommen in Ordnung.
Luc Hermitte
2
#!/usr/bin/env bash

sudo apt update

sudo apt install -y git

sudo apt install -y build-essential

rm -fr /tmp/vim

git clone https://github.com/vim/vim.git /tmp/vim

make -C /tmp/vim

sudo make install -C /tmp/vim 

rm -fr /tmp/vim
Bogdanvlviv
quelle
5
Willkommen auf der Seite! Es kann hilfreich sein, zu beschreiben, was dies ist, was es tut und wie es verwendet wird. Nicht jeder, der dies liest, ist mit den Befehlen vertraut, die Sie verwenden oder die Sie mit Bash-Skripten, Git und Paketmanagern schreiben / verwenden. Ich kann Ihren Änderungen entnehmen, dass Sie dies bereits an anderer Stelle gut gemacht haben!
Rich
Für diejenigen, die wissen, was es tut, funktioniert es hervorragend, / usr / local / bin / vim ist schnell einsatzbereit. Ihr vorhandenes / usr / bin / vim bleibt bestehen.
rshdev
1

Eine andere Möglichkeit besteht darin, Homebrew unter Linix als alternativen Paketmanager zu installieren und damit die neueste Version zu installieren:

brew install vim

Homebrew Eigenschaften:

  • Kann Software in Ihrem Home-Verzeichnis installieren und benötigt daher kein sudo
  • Installieren Sie Software, die nicht von Ihrer Host-Distribution gepackt wurde
  • Installieren Sie aktuelle Softwareversionen, wenn Ihre Host-Distribution veraltet ist
  • Verwenden Sie denselben Paket-Manager, um Ihre MacOS-, Linux- und Windows-Systeme zu verwalten
David Hatch
quelle
Willkommen auf unserer Website David! Ich habe Probleme zu sehen, wie Homebrew dieses Problem löst: Sind die Homebrew-Repositorys aktueller als die von Apt?
statox
@statox Ja, die Homebrew-Repositorys sind in der Regel die neueste Version.
David Hatch
Gut zu wissen :)
statox