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


17

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

Ответы:


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

Спасибо за ответ Крис. Не работал для меня
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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.