In Vimscript kann der Skriptbereich s:
verwendet werden, um Namenskonflikte zwischen Plugins zu vermeiden. Ich schreibe ein Vim-Plugin in Lua, und mir ist aufgefallen, dass Vim seinen gesamten Lua-Code in einem gemeinsamen Umfang ausführt. Das bedeutet, dass die Lua-Funktionen meines Plugins für jedes andere Plugin mit Lua sichtbar sind, und es scheint, als würde ein Namenskonflikt bevorstehen.Wie Vim Plugin-Code in Lua/Python/Ruby geschrieben kapseln?
Obwohl mein Beispiel Lua betrifft, gilt diese Frage auch bei der Entwicklung von Vim-Plugins in Python oder Ruby. Ich könnte einfach alle meine Lua-Funktionen mit dem Plug-in-Namen versehen, aber gibt es mehr eine zuverlässige/standardmäßige Möglichkeit, Vim-Plugin-Code zu kapseln, wenn Sie diese Sprachen verwenden?
Ich weiß nichts über vib, aber wenn Ihr Plugin lua Chunk getrennt ist, dann können Sie einfach lokale Funktion/Variable verwenden oder separate Umgebung verwenden. – moteus
Das ist eine bessere Lösung, als dem Namen des Plugins zumindest den Vorzug zu geben. –