Как заставить vim применять подсветку синтаксиса / var / log / messages к любому файлу, который называется «messages» или «messages- *»?

17

Мне нравится раскрашивание vim'а /var/log/messages, но оно работает только для этого - абсолютное имя файла. Это не работает для более старых чередований сообщений (например /var/log/messages-20120610) или для файлов сообщений, которые я получаю из других систем. Как я могу настроить это?

rsaw
источник

Ответы:

30

Когда файл открыт, вы можете запустить:

:set filetype=messages

Чтобы автоматизировать это для всех файлов, называемых сообщениями, поместите следующее в ~/.vim/ftdetect/messages.vim:

autocmd BufNewFile,BufReadPost *messages* :set filetype=messages
Тор
источник
1
BRILLIANT! Я буду использовать «сообщения *», но это именно то , что я хотел. Я люблю это. Огромное спасибо.
Rsaw
-1

добавить строку в ~/.vim/filetype.vim,

au BufNewfile,BufRead messages-* set filetype=messages
stardiviner
источник
Спасибо за ответ Крис. Не работал для меня
Rushaw
Крис, ты имел в виду ftdetect.vim?
Стефан Маевский,
1
Нет, ~/.vim/ftdetect/это каталог, ~/.vim/filetype.vimвсе au BufNewfile,BufRead ... set ft=..можно положить в этот файл. более простой.
stardiviner
Использование этого файла не рекомендуется. Документы Vim говорят: :help new-filetype «... В любом случае, лучше не изменять файл $ VIMRUNTIME / filetype.vim. Он будет перезаписан при установке новой версии Vim».
Фолькер Сигел
1
~/.vim/это не $VIMRUNTIMEсистемный уровень. Не будет перезаписан новым установленным Vim.
stardiviner