Bagaimana cara mengubah gaya sorotan di pemeriksa ejaan Vim?

91

Saat ini, ketika saya melakukannya :set spelldi Vim saya, saya mendapatkan kesalahan ejaan yang disorot seolah-olah teks tersebut dipilih. Yang saya inginkan adalah MS-Word seperti menggarisbawahi kesalahan ejaan. Saya mencoba mencari :help spelltetapi tidak dapat menemukan petunjuk. Setiap bantuan dihargai.

mkc
sumber

Jawaban:

128

Kesalahan ejaan disorot menggunakan SpellBadgrup penyorotan. Untuk membuatnya disorot sesuai keinginan, Anda harus meletakkan sesuatu seperti

hi clear SpellBad
hi SpellBad cterm=underline
" Set style for gVim
hi SpellBad gui=undercurl

setelah baris terakhir yang mengubah skema warna di vimrc Anda (itu adalah set background=(dark|light)atau colorscheme {schemename}).

Lihat juga :h hl-SpellBaduntuk nama dan deskripsi grup sorotan Ejaan * lainnya.

ZyX
sumber
1
Pukul aku untuk itu! Perlu juga disebutkan bahwa undercurl("berlekuk-lekuk" menggarisbawahi mirip dengan ms word) adalah default di gvim, meskipun jelas, tidak ada cara untuk membuat garis bawah "berlekuk-lekuk" di terminal.
Joe Kington
26
Bisa juga berguna jika ada perubahan warna, misalnya :hi SpellBad cterm=underline ctermfg=red. Atau memilikinya digarisbawahi dan berani: :hi SpellBad cterm=underline,bold.
Herbert Sitz
@yoda Mengganti dimana? Bukan tidak mungkin membuat terminal X yang mendukung garis bawah berlekuk-lekuk, tapi saya tidak tahu tentang fitur itu di terminal mana pun yang saya gunakan. Dan saya kira terminal ini akan memiliki garis bawah berlekuk-lekuk bukannya normal atau tidak akan didukung oleh vim tanpa tambalan manual.
ZyX
@ZyX: Saya tidak tahu, hanya bertanya-tanya. Semua milik saya menunjukkannya ----juga, tetapi sepertinya logis bahwa mengubah menjadi berlekuk-lekuk seharusnya hanya melibatkan penggantian -dengan ~, tetapi saya bisa salah di sana.
abcd
1
@yoda: Saya tidak mengerti di mana ----ditampilkan? Terminal tidak menggunakan simbol untuk menggarisbawahi (meskipun Anda selalu dapat menulis keinginan Anda sendiri), mereka hanya menafsirkan urutan escape tertentu yang dikirim oleh vim sebagai «mulai wilayah yang digarisbawahi» dan urutan lain sebagai «akhiri wilayah yang digarisbawahi» (atau bahkan «hapus semua gaya »). Apa yang sebenarnya ditampilkan ditentukan dalam kode terminal, tapi saya rasa kebanyakan dari mereka hanya meneruskan informasi gaya ke pustaka rendering font. Tidak ada apa pun di sini yang mencegah terminal mendukung garis bawah yang berlekuk-lekuk, tetapi pustaka font tidak menggunakan simbol untuk menggarisbawahi.
ZyX