Kadang-kadang saya ingin mengesampingkan sintaks default yang menyoroti warna dan gaya dengan preferensi saya sendiri.
Saya membayangkan cara yang paling tepat untuk melakukan ini adalah dengan membuat skema warna saya sendiri. Namun saya punya beberapa pertanyaan.
Jika saya ingin menetapkan sorotan untuk grup sintaksis tertentu dalam bahasa tertentu, apakah ini termasuk dalam skema warna saya, atau lebih baik meletakkannya
after/syntax/[filetype].vim
?highlight jsAssignExpIdent cterm=bold gui=bold
Tampaknya agak aneh untuk menempatkan aturan khusus bahasa yang tidak jelas dalam colorscheme, karena mereka akan memuat bahasa apa pun yang saya kerjakan, tetapi tampaknya lebih buruk lagi untuk menempatkan aturan sorotan dalam file sintaks.
Terkadang saya membuat aturan sintaksis baru untuk bahasa tertentu, di
after/syntax/[filetype].vim
. Jika pengguna lain ingin menggunakan ekstensi ini, apakah pantas bagi saya untuk memberikan aturan sorotan default di sana yang menautkan ke grup sorotan default umum? Jika pengguna lain ingin mengganti warna sorotan itu, bagaimana mereka harus melakukannya?::::: after/syntax/asm.vim ::::: syn match asmHexNumber /\(0x\|\$\)[0-9A-Fa-f]\+/ highlight default link asmHexNumber Number
sumber
highlight link ...
perintah dalam file sintaks yang akan menimpa pengaturan dari colorscheme setiap kali file dengan tipe file itu dimuat. Haruskah saya hanya melakukanhighlight link ...
setelah memeriksa bahwa tidak ada aturan highlight untuk nama itu?highlight link
dalam skema warna dapat ditimpa kemudian olehhighlight link
dalam file sintaks. Untuk menghindari ini, argumen aktual (ctermbg, guifg, ...) dapat digunakan sebagai ganti tautan.highlight link ...
skrip sintaksis Anda dan membiarkan pengguna Anda menimpanya jika mereka mau.highlight link ...
dalam colorscheme mereka, maka file sintaksis mungkin mengatur ulang nanti dengan miliknya sendirihighlight link ...
. Saya melihat sekarang bahwa file sintaks yang baik menghindari ini dengan menggunakanhighlight default link ...
. Itu mungkin harus menjadi koreksi terhadapasmHexNumber
aturan dalam pertanyaan saya.