Wie kann ich vim veranlassen, die Syntax / var / log / messages auf eine Datei mit dem Namen "messages" oder "messages- *" anzuwenden?


16

Ich mag die Kolorierung von vim /var/log/messages, aber das funktioniert nur für diesen - den absoluten Dateinamen. Es funktioniert nicht für ältere Rotationen von Nachrichten (z. B. /var/log/messages-20120610) oder für Nachrichtendateien, die ich von anderen Systemen erhalte. Wie kann ich das optimieren?

Antworten:


29

Wenn Sie die Datei geöffnet haben, können Sie Folgendes ausführen:

:set filetype=messages

Um dies für alle Dateien zu automatisieren, die als Nachrichten bezeichnet werden, geben Sie Folgendes ein ~/.vim/ftdetect/messages.vim:

autocmd BufNewFile,BufReadPost *messages* :set filetype=messages

1
BRILLANT! Ich werde "messages *" verwenden, aber genau das wollte ich. Ich liebe es. Ich danke dir sehr.
Rsaw

-1

fügen sie eine zeile herein hinzu ~/.vim/filetype.vim,

au BufNewfile,BufRead messages-* set filetype=messages

Vielen Dank für die Antwort von Chris. Hat bei mir nicht funktioniert.
Rsaw

chris, meinen Sie ftdetect.vim?
Stefan Majewsky

1
Nein, ~/.vim/ftdetect/ist ein Verzeichnis, das ~/.vim/filetype.vimalle au BufNewfile,BufRead ... set ft=..in diese Datei einfügen können. einfacher.
Stardiviner

Die Verwendung dieser Datei wird nicht empfohlen. Vim docs sagen: :help new-filetype „... Auf jeden Fall ist es besser , nicht die $ VIMRUNTIME / filetype.vim Datei ändern Es wird überschrieben , wenn eine neue Version von Vim installieren..“
Volker Siegel

1
~/.vim/ist nicht $VIMRUNTIMEauf Systemebene. Wird von neu installiertem Vim nicht überschrieben.
Stardiviner
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.