Gibt es eine Möglichkeit, einen Kommentar in eine Datei einzufügen, die vim verarbeitet, um den Dateityp festzulegen?


30

Wenn ich zum Beispiel möchte, dass eine Datei mit dem Namen gitconfig(ohne führende Zeichen .) von vim als solche erkannt wird filetype=gitconfig, gibt es eine Möglichkeit, dies in einem Kommentar oder ähnlichem in der Datei selbst anzuzeigen? Hinweis: Ich möchte, dass dies systemübergreifend funktioniert. Daher ist es nicht bevorzugt, die Startdateien von vim zu ändern.

Antworten:


45

Das klingt nach der modelineFunktion (siehe Online-Hilfe). In gitconfig könnten Sie eine Modeline wie die folgende am Anfang oder Ende der Datei haben:

# vi: ft=gitconfig

Dies erfordert, dass Modelines aktiviert sind und auf vielen Systemen standardmäßig deaktiviert sind, da sie ein Sicherheitsrisiko darstellen können.

Ein weiterer Ansatz, der möglicherweise etwas mehr Arbeit erfordert, ist das Erstellen einer .vimDatei mit

au BufRead,BufNewFile */gitconfig setfiletype gitconfig

und legen Sie es ~/.vim/ftdetectauf allen Ihren Systemen ab.


Perfekt, Modeline ist das, wonach ich gesucht habe. modeline ist aktiviert, aber es sieht so aus, als würde etwas anderes in meinem Setup stören. Wenn ich Ihre vorgeschlagene Zeile oben in die Datei set filetype?einfüge , wird nach dem erneuten Öffnen der Dateityp "conf" angezeigt.
Murali Suriar

Vielleicht kannst du :verbose set filetypedamit sehen, woher der confWert kommt - ich würde vermuten, dass die vim-Standardeinstellungen für den Dateityp irgendwo liegen.
jw013

anscheinend wurde es zuletzt von /usr/share/vim/vim73/filetype.vim gesetzt. Warum würde die Erkennung von Dateitypen auf Systemebene die Direktive überschreiben, die ich in die Datei selbst eingefügt habe?
Murali Suriar

Liefst du vim als root? Wenn ja, würde die Modeline nicht geladen.
Elias

Überprüfen Sie auch den Wert der modelinesOption. :set modelines?Wenn es auf Null gesetzt ist, wird die Modeline nicht verarbeitet.
Christian Long,

1

Sie können eine Syntaxdatei erstellen und in das share/syntaxVerzeichnis von vim stellen (unter Debian Lenny /usr/share/vim/vim71/syntax(Ihre Distribution kann variieren)).

Die Dokumentation zum Syntaxformat von Vim finden Sie hier: http://vimdoc.sourceforge.net/htmldoc/syntax.html

Möglicherweise finden Sie eine fertige Syntaxdatei im Internet, aber das überlasse ich Ihnen als Übung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.