如何在Vim拼写检查中更改高亮样式?

106

目前,当我在Vim中执行:set spell时,拼写错误会被突出显示,就像被选中的文本一样。我想要的是类似MS-Word的下划线标出拼写错误。我尝试查找:help spell,但没有找到线索。感谢任何帮助。

3个回答

161

使用SpellBad高亮组来标识拼写错误。为了按照您的要求进行高亮显示,您应该输入类似以下的内容:

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

在您的vimrc中更改配色方案的最后一行之后(它可以是set background =(dark | light)colorscheme {schemename})。

有关其他Spell *高亮组的名称和描述,请参见:h hl-SpellBad


3
抢我的台词了!还值得一提的是,在gvim中,“undercurl”(类似于Microsoft Word的波浪线下划线)是默认设置的,但很明显,在终端中无法制作“squiggly”下划线。 - Joe Kington
31
也许将颜色更改也会很有用,例如 :hi SpellBad cterm=underline ctermfg=red 可以使其具有下划线和红色背景。或者使它既有下划线又加粗::hi SpellBad cterm=underline,bold - Herbert Sitz
@yoda 替换哪里?制作支持波浪线下划线的 X 终端并非不可能,但我不知道我使用的任何终端是否具备该功能。我猜这个终端将会有波浪线下划线而不是正常的下划线,或者需要手动打补丁才能被 vim 支持。 - ZyX
2
@yoda:我不明白 ---- 在哪里显示?终端不使用下划线符号(尽管您可以编写自己的符号),它们只是解释由 vim 发送的特定转义序列作为“开始下划线区域”,并将另一个序列解释为“结束下划线区域”(甚至“清除所有样式”)。实际显示的内容取决于终端的代码,但我想大多数终端仅将样式信息传递给字体呈现库。这里没有任何东西阻止终端支持波浪线下划线,但字体库不使用符号进行下划线。 - ZyX
显示剩余2条评论

3

1

如果你已经加载了一个配色方案,想要快速简单地更改高亮颜色,可以修改你的配色方案。

运行:verbose highlight SpellBad命令会显示出当前主题配置文件的位置。更确切地说,它会显示出SpellBad指令的设置位置。不同的情况可能会有所不同,请查看下面的输出:

:verbose highlight SpellBad
SpellBad       xxx term=reverse ctermbg=9 gui=undercurl guisp=Red
        Last set from /usr/share/vim/vim81/colors/desert.vim line 17

我导航到desert.vim并添加了hi SpellBad term=reverse ctermbg=226 gui=undercurl guisp=Yellow1,然后保存文件(修改文件需要sudo权限)。重新打开vim并运行:verbose highlight SpellBad命令,输出结果为:
:verbose highlight SpellBad
SpellBad       xxx term=reverse ctermbg=226 gui=undercurl guisp=Yellow1
        Last set from /usr/share/vim/vim81/colors/desert.vim line 35

我的高亮颜色已经改变了!请注意,如果您更改了配色方案,您很可能需要在所选的配色方案文件中更改高亮颜色。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接