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?

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

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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.