Wie man manuell eine ftplugin nach dem Start in Vim laden?
Frage
laden Say I eine TXT-Datei in Vim. Dann möchte ich die filetype=html
ändern, aber ich möchte auch ein zugehöriges ftplugin geladen. Wie kann ich das tun?
Ich habe versucht, Sachen wie: :set filetype plugin on
und :set filtype plugin_name
auf und auch :filetype plugin_name
auf etc etc., aber ich kann scheine nicht manuell die ftplugin zu laden. Irgendwelche Vorschläge?
Ich habe versucht :filetype=html
und dann :filetype plugin on
und andere Kombinationen ohne Erfolg.
EDIT: Ich war nicht in der Lage zu „vollständig“ löst dies mit einem der Antworten (aber es vielleicht etwas Individuelles zu meiner Konfiguration). Allerdings waren Pierre Antworten verflixt gut, damit ich ihm das grüne Häkchen gebe.
Lösung
Ich bin ziemlich sicher, dass, wenn Sie einen Dateityp mit :set ft=X
schaltet er automatisch das zugehörige Plugin laden in Ihrem .vim / ftplugin Ordner. Z.B. :set ft=html
würde laden .vim / ftplugin / html.vim, wo Sie alle zugehörigen Plugins laden würde. Allerdings BufEnter
und BufNew
Plugin Lasten mit HTML-Dateien zugeordnet wird keine neue Datei des Typs als Einstellung nicht auslösen diese Ereignisse geladen werden. Also, wenn Sie HTML-spezifische Plugins in Ihrem .vimrc haben, die mit BufNew
oder BufEnter
geladen werden Sie können sie in einer .vim / ftpluging / html.vim Datei stattdessen setzen.
Sie können immer eine Modeline in Ihre Textdatei hinzufügen, die den Dateityp ändert. Z.B. <!-- vim: ft=html -->
.
Andere Tipps
:filetype on
:set filetype=html
Gerade hatte die gleiche Situation, in der ftplugins nicht einmal geladen wurde, obwohl ich eine Perl-Datei geöffnet hatte. Stellt sich heraus, dass mein Exemplar von Vim (von Git for Windows
) nicht mit ftplugin.vim
kam und ftplugof.vim
Hier ist, wie ich zu dieser Erkenntnis kam:
-
:filetype
- Überprüfen Sie, ob Dateityp-Plugin ist in der Tat eingeschaltet.
- Überprüfen Sie, ob Dateityp-Plugin ist in der Tat eingeschaltet.
-
:scriptnames
- die Liste der sourced Skripte drucken, fand kein Skript aus
ftplugin\
geführt wird bezogen. - Ich wusste es damals nicht, aber ich sollte bemerkt habe, dass ich nicht
ftplugin.vim
dort gesehen haben.
- die Liste der sourced Skripte drucken, fand kein Skript aus
-
Überprüfen Sie, ob Vim-Verzeichnis (
{git-path}/share/vim/vim{version}/
) hat dieftplugin.vim
undftplugof.vim
- diese Dateien bezogen werden, wenn Sie ausführen
:filetype plugin on
und:filetype plugin off
- diese Dateien bezogen werden, wenn Sie ausführen
Um dies zu beheben, packte ich die fehlenden Dateien aus den Vim Runtime-Dateien und kopiert, wo es sollte gehen.
Vim lädt automatisch die richtige Plugin, wenn Sie den Dateityp ändern
:set ft=python
Sie können Vim starten im ausführlichen Modus:
vim -V
Dies wird Ihnen zeigen, was vim ausführt. Wenn Sie eine Datei öffnen und manuell den Dateityp festgelegt, wird vim zeigen, ob es das richtige Plugin ist geladen.
:f something.html
:w
:e