在我用于vim的主题中,字符串以红色显示,但问题是我有拼写检查,拼写错误的单词也以红色显示。
这使得在你去那个单词并删除任何字符之前很难看出是什么错误。
我希望突出显示拼写错误的单词,比目前要轻一些。说#ff2929。
答案 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的顺序是spell
,colorscheme
,然后是hi
(试图在红色背景上使用白色文本),则拼写错误的单词的结果是在黑色背景上具有白色前景(下图) ),无论是在降价标题还是段落中。可以,但是我希望拼写错误的单词的背景更加醒目,这就是为什么我指定红色背景。
但是,如果顺序为spell
,hi
和colorscheme
,则在段落中结果正常,但在标题中的红色上不希望出现粉红色(下图)。实际上,这是没有hi
的原始行为,这是有道理的,因为colorscheme
可能正在踩hi
设置。根据其他测试,hi
和colorscheme
的相对位置很重要。
我认为我会选择第一个选项,因为至少所有内容中都突出显示了高光,但是如果使用红色背景,那就太好了。以下是我的第一种情况的.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