Wie kann ich eine korrekte automatische Vervollständigung für mehrdeutige Dateierweiterungen erhalten?

8

Ich bearbeite Prolog-Dateien als Teil eines Erkundungsprojekts, und einige der Dateien, mit denen ich arbeite, haben die Erweiterung .pl, die von Perl-Dateien gemeinsam genutzt wird. Immer wenn ich an einer Prolog-Datei mit dem Namen arbeite [somefile].pl, gibt mir Vim Syntaxhervorhebung und Fehlererkennung für Perl anstelle von Prolog. Ich könnte die Syntaxhervorhebung für Perl vollständig deaktivieren oder .pldie Erkennung als Prolog erzwingen , aber ich würde gerne wissen, ob es eine weniger diktatorische Möglichkeit gibt, das Problem zu beheben. Gibt es eine Möglichkeit, die Syntaxhervorhebung programmgesteuert festzulegen oder eine Tastenkombination zu verwenden, um Vim mitzuteilen, dass ich eine Prolog-Datei anstelle einer Perl-Datei bearbeite?

ssonicblue
quelle

Antworten:

6

Ich kann nur den zweiten Teil Ihrer Frage beantworten. Mit diesem Befehl können Sie Vim mitteilen, dass Sie eine Prolog-Datei bearbeiten:

:set syntax=prolog

Wenn Sie nie in Perl arbeiten, erscheint es nicht "diktatorisch", eine benutzerdefinierte Konfiguration in Ihre ~/.vimrc:

autocmd BufNewFile,BufRead *.pl setfiletype prolog syntax=prolog
Janos
quelle
1
Und Sie könnten :set syntax=prolog(vielleicht <Leader>-p) etwas zuordnen .
bsmith89
5

Sie können Folgendes oben oder unten in die Datei einfügen.

%vim: ft=prolog

Dadurch wird Vim angewiesen, die Datei als Prolog-Datei zu behandeln.

Siehe "Modelines" im Benutzerhandbuch und :help modeline.

Quincy Bowers
quelle