Ordnen Sie Vim-Befehle den Funktionen zur Kompilierungszeit zu

Ordnen Sie Vim-Befehle den Funktionen zur Kompilierungszeit zu

Vim hat die Vorstellung vonMerkmale, d. h. Teilmengen von Funktionen, die in einer tatsächlichen Installation basierend auf Flags zur Kompilierungszeit unterstützt werden können oder nicht. Das Vorhandensein einer Funktion kann mit der has()Funktion überprüft werden, und alle möglichen Funktionen können mit dem feature-listBefehl aufgelistet werden.

Ich möchte, dass mein Vim-Skript robuster wird, indem es Funktionen überprüft, bevor es sie verwendet. Mein Problem ist, dass nicht explizit dokumentiert ist, welcher Befehl auf welche Funktion angewiesen ist.

Konkretes Beispiel: Einige Linux-Distributionen werden vim.tinystandardmäßig mit einer Version von ausgeliefert, die in Bezug auf die Funktionen stark eingeschränkt ist vim. Wenn ich starte vim.tiny, .vimrcspuckt mein jede Menge Fehlermeldungen aus. Beispielsweise letist der Befehl nicht verfügbar, aber es ist nicht offensichtlich, welche Funktion dieser Befehl bietet. Wie kann ich das zuverlässig feststellen? Oder wenn das nicht möglich ist, wie kann ich dafür sorgen, dass mein vim-Start für ordnungsgemäß heruntergestuft wird vim.tiny?

Antwort1

Ein Vim-Plugin fürvim-winzigist schwierig, da es aus einemsehrbegrenzter Funktionsumfang. Es ist als schlanker Ersatz gedacht fürvi, unterstützt nur wenige Zuordnungen, mehr nicht.

Allerdings ist es tatsächlich möglich, bestimmte Fähigkeiten zu erkennen und geltend zu machen, indem has()und verwendet werden exists(). Die Fehler bei :letkönnten durch das Einschließen in verhindert werden :if 1, aber wie ich schon sagte, streben Sie besser ein Vim mit „normalen“ Funktionen an und fügen Sie nur Prüfungen auf die Verfügbarkeit neuerer Sachen hinzu (wieverbergen, dauerhaftes Rückgängigmachen, eingeführt in Vim 7.3) und wichtige Fehlerbehebungen (aber nur, wenn Sie sie benötigen).

verwandte Informationen