Как изменить стиль выделения в проверке орфографии Vim?

91

Прямо сейчас, когда я делаю это :set spellв своем Vim, орфографические ошибки выделяются, как если бы они были выделенным текстом. Я хочу, чтобы MS-Word подчеркивал орфографические ошибки. Я пытался :help spellпоискать, но не нашел подсказки. Любая помощь приветствуется.

mkc
источник

Ответы:

128

Орфографические ошибки выделяются с помощью SpellBadгруппы выделения. Чтобы он подсвечивался так, как вы хотите, вы должны поставить что-то вроде

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

после последней строки, изменяющей цветовую схему в вашем vimrc (это либо set background=(dark|light)или colorscheme {schemename}).

См. Также :h hl-SpellBadназвания и описания других групп выделения Spell *.

ZyX
источник
1
Обыграй меня! Также стоит упомянуть, что undercurl(«волнистое» подчеркивание, похожее на слово ms) является значением по умолчанию в gvim, хотя, очевидно, нет способа сделать «волнистое» подчеркивание в терминале.
Джо Кингтон
26
Может быть полезно иметь изменение цвета также, например, :hi SpellBad cterm=underline ctermfg=red. Или он подчеркнул и жирным шрифтом: :hi SpellBad cterm=underline,bold.
Герберт Зитц
@yoda Замена где? Возможно создать X-терминал, который поддерживает волнистое подчеркивание, но я не знаю об этой функции ни в одном из терминалов, которые я использую. И я предполагаю, что этот терминал будет либо иметь волнистое подчеркивание вместо обычного, либо не будет поддерживаться vim без ручного исправления.
ZyX
@ZyX: Не знаю, просто интересно. Все мои это ----тоже показывают , но мне просто казалось логичным, что переход на волнистый означает просто замену -на ~, но я могу ошибаться в этом.
abcd
1
@yoda: Я не понимаю, где это ----показано? Терминалы не используют символы для подчеркивания (хотя вы всегда можете написать свои собственные), они просто интерпретируют конкретную escape-последовательность, отправленную vim, как «начало подчеркнутой области», а другую последовательность - как «конец подчеркнутой области» (или даже «очистить все стили »). То, что отображается на самом деле, определяется кодом терминалов, но я думаю, большинство из них просто передают информацию о стиле в библиотеку визуализации шрифтов. Здесь ничто не мешает терминалам поддерживать волнистое подчеркивание, но библиотеки шрифтов не используют символы для подчеркивания.
ZyX