如何更改突出显示拼写错误的单词的颜色?

时间:2012-07-01 03:57:27

标签: vim spell-checking

在我用于vim的主题中,字符串以红色显示,但问题是我有拼写检查,拼写错误的单词也以红色显示。

这使得在你去那个单词并删除任何字符之前很难看出是什么错误。

我希望突出显示拼写错误的单词,比目前要轻一些。说#ff2929。

You can't see what is the misspelled word

3 个答案:

答案 0 :(得分:12)

您可以在hi中使用:help highlight~/.vimrc的缩写)命令。一般结构是:

hi SpellBad    ctermfg=015      ctermbg=000     cterm=none      guifg=#FFFFFF   guibg=#000000   gui=none

cterm用于终端vim,gui用于gVim。 fg代表前景,是字母的颜色,bg代表背景,是字母背后的颜色。

对于标准终端颜色(8普通和8亮),终端颜色可以是0-15,对于支持256种颜色的术语,如xterm-256colors,终端颜色可以是0-255。 gui颜色采用十六进制格式。 xterm-color-table是256和十六进制颜色的有用参考。最终选项可用于指定粗体斜体或无(不)。

在您的情况下,将前景设置为黑色以使字母突出可能是最简单的。首先,找到一个与:set spell混淆的单词,然后键入asdflkjasldf或其他内容。然后输入:hi SpellBad ctermfg=000 guifg=#000,看看这是否是您喜欢的解决方案。如果没有,请使用xterm-color-table或其他颜色参考来查找您喜欢的颜色。

答案 1 :(得分:5)

试试这个:

 :hi SpellBad guibg=#ff2929 ctermbg=224
  • guibg用于GUI
  • ctermbg适用于TERM

答案 2 :(得分:0)

对于涉及colorscheme的更复杂的示例,我发现以下工作已完成一半,但是它对.vimrc命令的顺序很敏感。我用Cygwin / mintty和Git Bash,vim 8.0进行了测试,结果相似。我用标题和段落中的“拼写错误”字样编辑了一个markdown文件,所以另一个因素是vim对markdown进行自动格式化。如果.vimrc的顺序是spellcolorscheme,然后是hi(试图在红色背景上使用白色文本),则拼写错误的单词的结果是在黑色背景上具有白色前景(下图) ),无论是在降价标题还是段落中。可以,但是我希望拼写错误的单词的背景更加醒目,这就是为什么我指定红色背景。

colorscheme before hi

但是,如果顺序为spellhicolorscheme,则在段落中结果正常,但在标题中的红色上不希望出现粉红色(下图)。实际上,这是没有hi的原始行为,这是有道理的,因为colorscheme可能正在踩hi设置。根据其他测试,hicolorscheme的相对位置很重要。

colorschme after hi

我认为我会选择第一个选项,因为至少所有内容中都突出显示了高光,但是如果使用红色背景,那就太好了。以下是我的第一种情况的.vimrc行。任何解决此问题的指南将不胜感激。

" Turn on spell-checker
set spell

" Color scheme
" To pick from available list do:
" :colorscheme _space_ Tab
" Reasonable options seem to be:  koehler, murphy, elford
colorscheme koehler

" Using the colorscheme with spellchecking results in highlights with
" pink text on red background, which is hard to read, so change the highlight color.
" Color table:  https://github.com/guns/xterm-color-table.vim
" Use white text on red background for misspelled words.
hi SpellBad ctermfg=015 ctermbg=009 cterm=bold guibg=#ff0000 guifg=#000000 gui=bold