Como altero o estilo de realce na verificação ortográfica do Vim?

90

Agora, quando faço :set spellno meu Vim, recebo erros de ortografia destacados como se fossem texto selecionado. O que eu quero é um MS-Word como sublinhado de erros ortográficos. Tentei pesquisar, :help spellmas não consegui encontrar uma pista. Qualquer ajuda é apreciada.

mkc
fonte

Respostas:

127

Erros de ortografia são destacados usando o SpellBadgrupo de destaque. Para destacá-lo como você deseja, você deve colocar algo como

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

após a última linha que está alterando o esquema de cores em seu vimrc (é set background=(dark|light)ou colorscheme {schemename}).

Veja também :h hl-SpellBadnomes e descrições de outros grupos de destaque de Feitiço *.

ZyX
fonte
1
Vença-me! Também vale a pena mencionar que undercurl(sublinhado "squiggly" semelhante à palavra ms) é o padrão no gvim, embora obviamente não haja como fazer um sublinhado "squiggly" em um terminal.
Joe Kington de
23
Também pode ser útil ter uma mudança de cor, por exemplo :hi SpellBad cterm=underline ctermfg=red,. Ou tê-lo sublinhado e negrito: :hi SpellBad cterm=underline,bold.
Herbert Sitz
@yoda Substituindo onde? Não é impossível fazer um terminal X que suporte o sublinhado ondulado, mas não sei sobre esse recurso em nenhum dos terminais que uso. E eu acho que este terminal terá um sublinhado ondulado em vez do normal ou não será suportado pelo vim sem patch manual.
ZyX de
@ZyX: Não sei, só estava pensando. Todas as minhas também mostram ----, mas parecia lógico que mudar para squiggly deveria envolver apenas substituir -por ~, mas posso estar errado nisso .
abcd
1
@yoda: Não entendi onde é ----mostrado? Terminais não usam símbolos para sublinhar (embora você sempre possa escrever seus próprios), eles apenas interpretam a sequência de escape particular enviada pelo vim como «iniciar região sublinhada» e outra seqüência como «finalizar região sublinhada» (ou mesmo «limpar tudo estilos »). O que realmente é mostrado é determinado no código dos terminais, mas acho que a maioria deles apenas passa informações de estilo para a biblioteca de renderização de fontes. Nada aqui impede que os terminais suportem o sublinhado ondulado, mas as bibliotecas de fontes não usam símbolos para sublinhado.
ZyX de