Emacs 24 scheint einen Paketmanager zu haben. Welche Paketverwaltungsoptionen gibt es für Vim?
Emacs 24 scheint einen Paketmanager zu haben. Welche Paketverwaltungsoptionen gibt es für Vim?
Antworten:
Ich verwende jetzt VimPlug für mein eigenes Vim-Setup und empfehle es auf jeden Fall. Die Installation ist sehr einfach und schnell, hübsch und effektiv!
Ich habe Vundle in dieser Antwort empfohlen . Aber Vundle wird nicht mehr gewartet und es gibt bessere Alternativen.
Die Plugin-Verwaltung für vim war früher ein Problem, da Plugin-Dateien über das gesamte persönliche vim-Laufzeitverzeichnis verteilt wurden, z. ~/.vim
für * nix System. Sobald ein Plugin installiert ist, ist es schwierig, es zu aktualisieren, da es keine einfache Möglichkeit gibt, die veralteten Plugin-Dateien zu entfernen, was ein notwendiger Schritt ist.
Zu Beginn möchte ich meine persönlichen Anforderungen an ein feines Plugin-Management-Tool auflisten:
Es gibt viele Implementierungen ( Vim-Scripts.org bietet eine umfassende Zusammenfassung aller verfügbaren Tools). Ich werde nur über einige wichtige Tools anhand ihrer Erstellungsreihenfolge sprechen.
vimball war der erste Versuch, das Problem zu lösen, und war tatsächlich eine halboffizielle Lösung, bei der viele Plugins *.vba
lange Zeit zusammen mit einem Paket ausgeliefert wurden. In Kombination mit GetLatestVimScripts bildete dies den traditionellen Weg für die Verwaltung des vim-Plugins.
Auch wenn nach wie vor das Problem , bis blieb Tim Pope ‚s Erreger ( Github Repo ), die jedes Plugin in ein eigenes Verzeichnis platziert und lädt sie bei der Inbetriebnahme durch die‚rtp (runtimepath)‘Modifizierung des vim, auftauchten. Dies ist ein großer Fortschritt - zusammen mit vim-scripts.org, das von git / github und anderen Tools (z. B. vimmer ) gehostet wird , bildet es die moderne Art der Verwaltung von vim-Plugins. Es gibt viele Artikel und Videos zu diesem Thema.
Als Plugin, das die Plugins verwaltet, fehlen Pathogen noch einige Kernfunktionen wie das Suchen, Installieren, Aktualisieren und Entfernen der Plugins. Infolgedessen stieg VAM (Vim-Addon-Manager) ( Github Repo ) aus. VAM bietet fast alles, was für den Plugin-Manager erforderlich ist: Platziert Plugin-Dateien in einem eigenen Verzeichnis, lädt Plugins beim Start von vim, sucht / installiert / aktualisiert / entfernt Plugins in der ex-Befehlszeile, die in reinem VimL geschrieben sind, verwaltet seine eigene zentrale Infodatenbank für Plugins löst sogar die Plugin-Abhängigkeiten auf. Es scheint, dass VAM derjenige sein sollte, den wir als voll ausgestatteten Vim-Plugin-Manager benötigen, aber aus meiner Sicht ist der Ansatz, den VAM verfolgt, etwas unelegant und manchmal überentwickelt. Obwohl es immer noch ein wunderbares Plugin ist und es sich lohnt, es zu benutzen.
Dann kam Tom Links Tplugin ( Github Repo ), das den Erreger verbesserte, indem Plugins nur geladen wurden, wenn verwandte Befehle oder Funktionen aufgerufen wurden, ähnlich wie bei AsNeeded . Außerdem hat es eine Art Abhängigkeitslösungsmechanismus, der nett erscheint.
In Finnland schuf Gmarik Vundle ( Github Repo ), einen Nachfolger von Tim Popes Erreger, inspiriert von Rubys BundlerEs bietet eine bessere Benutzeroberfläche und zusätzliche Verwaltungsfunktionen. Vundle to Vim ist Bundler einem Ruby-Projekt sehr ähnlich. Nachdem in vimrc Plugins deklariert wurden, übernimmt vundle den Rest, einschließlich des Installierens / Aktualisierens und Entfernens von Plugins, über die ex-Befehlszeilenschnittstelle. Am wichtigsten ist, dass vundle in reinem VimL implementiert ist. Mit Hilfe von vundle kann die Verwaltung der vim-Konfiguration auf mehreren Computern mit nur einer einfachen vimrc-Datei erfolgen. Als modernes Plugin-Management-Tool verlässt sich vundle auf Git und kann das Plugin direkt von Github installieren. Vundle bietet auch eine ausgefallene interaktive Oberfläche zum Suchen und Installieren von Plugins.
Vundle erfüllt meine Anforderungen zwar nicht vollständig, geht aber in die richtige Richtung, was für mich ein guter Ausgangspunkt zu sein scheint.
Hier finden Sie eine Diskussion und einen weiteren Vergleich zwischen Vim-Plugin-Managern des VAM-Autors MarcWeber.
Es gibt auch pathogen.vim
http://www.vim.org/scripts/script.php?script_id=2332
Obwohl es nicht genau das ist, wonach Sie fragen, bietet es eine Möglichkeit, Kassen von Ihren Githubs und Bitbuckets zu verwalten.
Dies ist gut, da es die Verzeichnisstruktur des Plugins trennt. Sie können also ein Repository des Plugins auschecken und eine ordnungsgemäße Versionskontrolle erhalten, anstatt sich beim Aktualisieren des Codes auf den Betreuer zu verlassen. Es ist auch nicht darauf angewiesen, dass der Autor des Plugins das Paket gemäß den anderen genannten Optionen einrichtet / verpackt.
Es gibt einige andere Plugins auf vim.org, die diese Aufgabe ausführen, obwohl ich sie momentan nicht finden kann
Ich verwende momentan ein handgefertigtes Setup, aber ich sage mir immer wieder, dass ich es irgendwann mal ausprobieren soll (die Links haben alle mit demselben Plugin zu tun):
Ich habe es noch einmal nicht selbst versucht, aber es sieht auf jeden Fall vielversprechend aus.
Vim.org + Vimballs + GetLatestVimScripts wird derzeit bevorzugt für die Verwaltung von Vim-Plugins entwickelt.
:h GetLatestVimScripts
Die schlechten Dinge daran:
Schauen Sie sich NeoBundle an , den ultimativen Paketmanager für vim. Es ist eine Gabelung von Vundle .
Alle diese Antworten scheinen ziemlich alt zu sein. Wie in dieser Antwort auf eine ähnliche Frage beschrieben ,
Sowohl Vim 8.0 als auch Neovim verfügen über einen eigenen integrierten Paketmanager
Es ist überhaupt kein weiterer Plugin-Manager erforderlich.
Ich benutze es seit ein oder zwei Jahren und es scheint mir einfach und leicht zu sein.
Hier sind einige Ressourcen zu den Vorteilen und zur Verwendung: