Frage

Ich habe Vim verwendet und Erreger für eine Weile funktionierte alles gut, aber seit Kurzem habe ich Probleme mit der Ladereihenfolge bei meiner ftplugin-Konfiguration.

Das konkrete Problem, das ich gerade habe, ist das Python-Modus überschreibt meine ftplugin-Einstellungen.Ich habe ein ~/.vim/ftplugin/python.vim das die folgende Zeile enthält:

setlocal textwidth=119

Der Python-Modus wird mit einer eigenen ftplugin-Datei geliefert, die auch festgelegt wird textwidth, In ~/.vim/bundle/python-mode/ftplugin/python/pymode.vim.

Das Problem ist, dass Vim jetzt die ftplugin-Datei des Python-Modus lädt nach meine ftplugin-Datei, also lande ich bei ihr textwidth=79. Ich musste kürzlich MacPorts neu installieren und denke, dass sich an der Standardkonfiguration etwas geändert haben muss.

Ich habe verschiedene Tricks ausprobiert, bei denen ich die Dateityp-/Plugin-Erkennung ausschalte, bevor ich Pathogen aufrufe verschieden andere Antworten, aber keine davon hilft.

Durch den Gebrauch von verbose set textwidth? und einige echomsg Beim Debuggen weiß ich, dass beide ftplugin-Dateien aufgerufen werden, und zwar in der falschen (für meine Bedürfnisse) Reihenfolge.

Gibt es eine Möglichkeit, Vim/Pathogen dazu zu zwingen, meine ftplugin-Dateien nach denen der Plugins aufzurufen?

Ich habe sogar versucht, meine Einstellungen vorzunehmen ~/.vim/after/plugin/pymode.vim, aber das wird sofort geladen, nachdem Pathogen das Plugin eingerichtet hat, sodass es vorher noch ausgeführt wird ftplugin Dateien, die erst geladen werden, wenn ich eine Python-Datei bearbeite.

War es hilfreich?

Lösung

Es stellt sich heraus, dass das vielleicht nie so funktioniert hat, wie ich es mir vorgestellt habe.Mir war nicht klar, dass Vim dies auch unterstützt ~/.vim/after/ftplugin, also konnte ich meine Überschreibungen nach verschieben ~/.vim/after/ftplugin/python.vim und bekomme das Verhalten, das ich erwartet habe.Ich möchte meine eigenen Fragen zu SO nur ungern beantworten, aber ich hoffe, dass dies jemand anderem hilft.

Andere Tipps

Plain Vim lädt die Plugin-Skripte hinein alphabetisch Befehl.Das ist von :help load-plugins

... all directories in the 'runtimepath' option will be
searched for the "plugin" sub-directory and all files ending in ".vim"
will be sourced (in alphabetical order per directory), also in
subdirectories.

So können Sie durch Umbenennen die Ladereihenfolge des Plugins festlegen <filetype>_plugin.vim Zu <filetype>/35plugin.vim.35 ist Ihre gewünschte Ladereihenfolge.Ich denke, dass dies auch mit Pathogen funktionieren sollte, indem die darin enthaltenen Plugin-Verzeichnisse umbenannt werden bundle, aber ich habe es nicht getestet.

Ich suche immer noch nach einer allgemeineren Antwort auf dieses Problem mit der Ladereihenfolge

Soweit ich weiß, kann man das mit Pathogen nicht wirklich machen.Mit NeoBundle ist das ganz einfach.Pathogen ist wirklich minimal, es bietet Ihnen nicht viel Flexibilität – es macht nur eine Sache und das gut.Wenn Sie nach Konfigurierbarkeit suchen, verwenden Sie meiner Meinung nach das falsche Tool.

BEARBEITEN:Bei ftplugins bin ich mir nicht ganz sicher, aber Bundles werden im Allgemeinen so geladen, wie Sie sie angeben (mit Vundle/NeoBundle).Daher ist mir klar, dass dies möglicherweise nicht die relevanteste Antwort ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top