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.

War es hilfreich?

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:

  1. :filetype

    • Überprüfen Sie, ob Dateityp-Plugin ist in der Tat eingeschaltet.
  2. :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.
  3. Überprüfen Sie, ob Vim-Verzeichnis ({git-path}/share/vim/vim{version}/) hat die ftplugin.vim und ftplugof.vim

    • diese Dateien bezogen werden, wenn Sie ausführen :filetype plugin on und :filetype plugin off

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top