Ich habe mir die verschiedenen Paketmanager für vim und denjenigen angesehen, für den ich mich für vim-plug entschieden habe, aber ich habe andere wie Pathogen und Vundle gesehen, und ich weiß ehrlich gesagt nicht, was der Unterschied ist.
Kann mir jemand einen kurzen Überblick über die Unterschiede geben, damit ich entscheiden kann, welche für mich am besten funktioniert?
plugin-managers
ZucchiniZe
quelle
quelle
Antworten:
vim-plug ist eine nette Alternative zu Vundle, es macht aus technischer Sicht etwas andere Dinge, die es schneller machen sollten ( siehe dies ). Es hat die meisten (oder alle?) Funktionen von Vundle.
+ruby
,+python
oder Neovim. Fällt mithilfe von Vimscript in den sequenziellen Modus zurück, wenn keiner verfügbar ist.Um es zu benutzen:
Und in deinem vimrc:
Dann geben Sie den Befehl
um die aufgelisteten Plugins zu installieren.
quelle
:PlugInstall
ein neues Plugin. Sogar die offiziellen Dokumente verdecken dies ein wenig...\vim81\autoload\..
und nicht..\.vim\autoload\..
.Erreger ist einfach. Im Wesentlichen macht es einfach:
Vorteile:
Nachteile:
Um es zu installieren, lade es herunter
pathogen.vim
auf~/.vim/autoload
:Und füge hinzu
.vimrc
:Wenn Sie nicht verrückt werden möchten, rufen
:Helptags
Sie nur an, wenn Sie es brauchen.Plugins werden dann hinzugefügt
~/vim/bundle
.quelle
Vundle ist komplexer. Es ist ein Paketmanager à la
apt
oderyum
für Plugins. Es kann:Installieren:
Und füge dann hinzu
.vimrc
:Verwenden Sie zum Installieren eines Plugins den
Plugin
Befehl in.vimrc
(weitere Beispiele in der Github-README-Datei):Und dann anrufen
:PluginInstall
von.vim
(odervim +PluginInstall +qall
).quelle
dein.vim : Um diese Frage zu beantworten , füge ich hier den Plugin-Manager des bekannten Shougo hinzu.
Das Plugin hat laut README folgende Abhängigkeiten:
Vim >7.4 or neovim
: Obwohl es eine gute Sache ist, Vim auf dem neuesten Stand zu halten, kann es für einige Benutzer problematisch sein, dass frühere Versionen nicht unterstützt werdengit
: das ist ziemlich häufig für einen Paketmanagerrsync
: das ist nicht so verbreitet wie gitDer Autor behauptet, es sei schneller als NeoBundle. Eine Benchmark finden Sie auf der Readme-Seite des Projekts .
Ein originelles Konzept dieses Plugin - Manager ist , dass es keine Befehle liefert, sondern nur Funktionen: zum Beispiel, die Plugins bearbeiten Sie nicht so etwas wie verwenden können
:PlugUpdate
, werden Sie anrufen müssen::call dein#update()
. Um ehrlich zu sein, habe ich keine Erklärung für diese Designauswahl gefunden.Außerdem hat jemand ein Plugin erstellt , das diese "fehlenden" Befehle bereitstellt. Ich habe keine Ahnung, ob dies eine gute Idee ist oder ob dies gegen die Hauptidee des Plugin Managers verstößt, aber der Autor erwähnt sie in den FAQ der doc Datei.
Dein.vim unterstützt das Abrufen von Plugins von Github (mit einem erleichterten Zugriff auf Plugins von vimscript.org) und von lokalen Verzeichnissen.
Der Plugin-Manager bietet einige klassische Funktionen wie das Aktualisieren und Deaktivieren der Plugins. Es ermöglicht auch die Ausführung von Hooks zur Installationszeit.
Beachten Sie, dass Sie laut FAQ die Hilfetags der installierten Plugins manuell erstellen müssen .
Ein interessanter Punkt ist, dass der Autor möchte, dass dein.vim einfach zu testen und zu warten ist, sodass das Repository auch einige Testskripte enthält.
Schließlich würde ich sagen, dass dieser Plug-in-Manager so konzipiert ist, dass er leicht und schnell ist, was interessant ist, aber ich denke, er ist weniger benutzerfreundlich als beispielsweise Vim-Plug oder Vundle .
Außerdem beschreibt Shougo dein.vim als "Dark Powered Vim / Neovim Plugin Manager". Wenn jemand weiß, was es bedeutet, kann er diese Antwort gerne bearbeiten: Ich bin neugierig ;-)
quelle
Sowohl Vim 8.0 als auch Neovim haben einen eigenen integrierten Paketmanager. Erstellen Sie in Vim 8.0 die folgenden Verzeichnisse:,
.vim/pack/*/start
wo*
ist ein beliebiger Name, den Sie verwenden möchten; zB.vim/pack/jimmy/start
.Klonen Sie Ihr Plugin in das Startverzeichnis, so als ob Sie Pathogen verwenden würden.
Mit Neovim sind die Verzeichnisse etwas langwieriger:
.local/share/nvim/site/pack/*/start
. Von dort aus machen Sie dasselbe wie für Vim.Es wird überhaupt kein weiterer Plugin-Manager benötigt.
Gehen Sie in Vim oder Neovim
:h packages
etwas genauer vor. Lesen Sie den Teil über Farben, weil sie unterschiedlich sind, wenn auch nicht viel. Sie benötigen keine zusätzlichen Anweisungen in Ihrer.vimrc
oder Ihrennvim/init.vim
Dateien.Ich hoffe, das hilft.
quelle
Ich mag VAM besonders wegen seiner Selbsteinführung: Alles, was Sie brauchen, ist Ihr
.vimrc
und dann starten Sie vim.Sie brauchen also nicht die
To Install
Leitung, die von den meisten anderen Plug-In-Managern verwendet wird (der erste Schritt der Installation des Plug-In-Managers selbst).quelle
Ich möchte den Plugin-Manager, mit dem ich Abhängigkeiten unterstütze.
Der Grund dafür ist, dass ich mehrere Plugins pflege und viele Abhängigkeiten habe: Eine generische Bibliothek wird von allen verwendet, die Template / Snippet-Engine wird von der C ++ - Suite verwendet, das Refactoring-Plugin verwendet auch das ctags-Bibliotheks-Plugin , und so weiter. Es scheint mir keine gute Lösung zu sein, wenn der Endbenutzer bis zu 10 Zeilen ausführen muss, um die Plugins zu installieren, an denen er interessiert ist.
Bisher kenne ich nur zwei solche Plugins: vim-addon-manager und NeoBundle . VAM hat seinen Datenbankcode nach vielen Austauschen auf der offiziellen Mailingliste von VIM an VIM-Pi weitergegeben . Die Idee war, dass NeoBundle (und jedes andere Plugin, das an der Verwaltung von Abhängigkeiten interessiert ist) schließlich vim-pi ausnutzen könnte.
Ich bin kürzlich auf Vim-Flavour gestoßen , das auch Abhängigkeiten behandelt. Zu diesem Thema werden die Plugin-Versionen überprüft, um die richtige zu installieren.
Hinweis: Seit meiner ersten Antwort
AFAIK, keines dieser Plugins klont / installiert / aktualisiert Plugins im Hintergrund / parallel. Da ich weder eine neue vim-Umgebung installiere noch die Plugins aktualisiere, die ich einmal im Monat installiert habe, ist mir das ehrlich gesagt egal. Sie aktualisieren
'helptags'
, kümmern sich natürlich um'rtp'
und so weiter.quelle
vim-plug
In der README-Datei finden Sie ein Beispiel mit der Aufschrift "Gruppenabhängigkeiten". Haben Sie das versucht oder unterscheidet es sich von den Methoden von VAM / NeoBundle?Die meisten dieser Plugin-Manager können Plugins hervorragend verwalten, überlassen
vimrc
es Ihnen jedoch, die Plugins zu verwalten. Wenn Sie mehrere Computer haben und dieselbe Konfiguration auf mehreren Computern verwenden möchten, ist dies mit Vire ganz einfach. Sie benötigen weder Git noch Submodule oder zusätzlichen Aufwand, um Setup oder Migration durchzuführen.pip install vire
vimrc
auf Github und pflege es dortvire -i
um das neueste Vim oder (Neovim mit-i -n
) zu installieren" Plug 'tpope/vim-unimpaired'
vire gistID
Führen
vire
Sie sie dann aus, wann immer Sie möchten, dass Ihrevimrc
oder Plugins aktualisiert werden, oder mit-i
, um auch die App zu aktualisieren .Vire nutzt die Funktion von Vim / Neovim
pack
, um Plugins zu laden. Sie können auch weiterhin Ihren vorhandenen Plug-in-Manager verwenden, aber Vire verwenden, um nur Vim, denvimrc
und den Plug-in-Manager selbst zu installieren, wenn dies bevorzugt wird.quelle
Für Leute, die einen vollständigen Plugin-Manager mit Pathogen wollen, gibt es auch apt-vim. Sie können es mit installieren
curl -sL https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh | sh
(wie hier beschrieben: https://www.linuxsecrets.com/1715-vi-editor-tips-trick-and-secrets-into-the-vi-vim-editor-part-ii ). Nach der Installation können Sie einfachapt-vim install
Folgendes eingeben, gefolgt vom Namen des Paket-Repositorys, ähnlich wie beim Paket-Manager von Ubuntu apt.quelle
curl URL |sh
. Ich würde niemals jemandem vorschlagen, zufälligen Code aus dem Internet auszuführen. Wirklich, das ist eine schlechte Sicherheitsgewohnheit.Ich habe nach einer Möglichkeit gesucht, sie zu verwenden, sie
pathogen
aber einfach zu aktualisieren und portabel zu machen. Vielleicht ist einbash
Skript hilfreich (Verwendung dervim-plug
Funktionalität).Und dann ein Beispiel
.vimrc.bundle
-quelle