Bagaimana membuat vim menerapkan penyorotan sintaksis / var / log / messages ke file apa saja yang disebut "pesan" atau "pesan- *"?

17

Saya suka pewarnaan vim /var/log/messages, tetapi hanya berfungsi untuk itu - nama file absolut. Tidak berfungsi untuk rotasi pesan yang lebih lama (mis. /var/log/messages-20120610) Atau untuk file pesan yang saya dapatkan dari sistem lain. Bagaimana saya bisa mengubah ini?

rsaw
sumber

Jawaban:

30

Saat file terbuka, Anda dapat menjalankan:

:set filetype=messages

Untuk mengotomatiskan ini untuk semua file yang disebut pesan, masukkan yang berikut ini ke ~/.vim/ftdetect/messages.vim:

autocmd BufNewFile,BufReadPost *messages* :set filetype=messages
Thor
sumber
1
CEMERLANG! Saya akan menggunakan "pesan *", tapi ini adalah persis apa yang saya inginkan. Aku menyukainya. Terima kasih banyak.
rsaw
-1

tambahkan baris ~/.vim/filetype.vim,

au BufNewfile,BufRead messages-* set filetype=messages
stardiviner
sumber
Terima kasih sudah merespons chris. Tidak bekerja untuk saya.
rsaw
chris, maksudmu ftdetect.vim?
Stefan Majewsky
1
Tidak, ~/.vim/ftdetect/adalah direktori ~/.vim/filetype.vim,, semua au BufNewfile,BufRead ... set ft=..bisa dimasukkan ke dalam file ini. lebih simpel.
stardiviner
Menggunakan file itu tidak disarankan. Dokumen Vim mengatakan: :help new-filetype "... Dengan cara apa pun, lebih baik tidak mengubah file $ VIMRUNTIME / filetype.vim. Itu akan ditimpa ketika menginstal versi baru Vim."
Volker Siegel
1
~/.vim/bukan $VIMRUNTIMEtingkat sistem. Tidak akan ditimpa oleh Vim yang baru diinstal.
stardiviner