Comment faire en sorte que vim applique / var / log / messages la coloration syntaxique à n'importe quel fichier appelé "messages" ou "messages- *"?

17

J'adore la colorisation de vim /var/log/messages, mais cela ne fonctionne que pour cela - le nom de fichier absolu. Cela ne fonctionne pas pour les anciennes rotations de messages (par exemple /var/log/messages-20120610) ou pour les fichiers de messages que je reçois d'autres systèmes. Comment puis-je modifier cela?

rsaw
la source

Réponses:

30

Une fois le fichier ouvert, vous pouvez exécuter:

:set filetype=messages

Pour automatiser cela pour tous les fichiers appelés messages, placez ce qui suit dans ~/.vim/ftdetect/messages.vim:

autocmd BufNewFile,BufReadPost *messages* :set filetype=messages
Thor
la source
1
BRILLANT! J'utiliserai des "messages *", mais c'est exactement ce que je voulais. J'aime cela. Merci beaucoup.
rsaw
-1

ajouter une ligne ~/.vim/filetype.vim,

au BufNewfile,BufRead messages-* set filetype=messages
stardiviner
la source
Merci d'avoir répondu chris. Ça n'a pas marché pour moi.
rsaw
chris, tu voulais dire ftdetect.vim?
Stefan Majewsky
1
Non, ~/.vim/ftdetect/est un répertoire,, ~/.vim/filetype.vimtout le monde au BufNewfile,BufRead ... set ft=..peut mettre dans ce fichier. plus simple.
stardiviner
Il n'est pas conseillé d'utiliser ce fichier. Les documents Vim disent: :help new-filetype "... De toute façon, il vaut mieux ne pas modifier le fichier $ VIMRUNTIME / filetype.vim. Il sera écrasé lors de l'installation d'une nouvelle version de Vim."
Volker Siegel
1
~/.vim/n'est pas au $VIMRUNTIMEniveau du système. Ne sera pas écrasé par le nouveau Vim installé.
stardiviner