在我用于 vim 的主题中,字符串显示为红色,但问题是我打开了拼写检查,拼写错误的单词也显示为红色。
这使得在您转到该单词并删除任何字符之前很难看出错误是什么。
我想让拼写错误的单词的突出显示比现在更轻。说#ff2929。
在我用于 vim 的主题中,字符串显示为红色,但问题是我打开了拼写检查,拼写错误的单词也显示为红色。
这使得在您转到该单词并删除任何字符之前很难看出错误是什么。
我想让拼写错误的单词的突出显示比现在更轻。说#ff2929。
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 种颜色的术语,终端颜色可以是 0-255,例如 xterm-256colors。gui 颜色采用十六进制格式。xterm-color-table是 256 和十六进制颜色的有用参考。最后一个选项可用于指定粗体、斜体或无(两者都不)。
在您的情况下,将前景设置为黑色以使字母突出可能是最简单的。首先,找到一个拼写错误的单词,:set spell
然后输入 asdflkjasldf 或其他内容。然后输入:hi SpellBad ctermfg=000 guifg=#000
并查看这是否是您喜欢的解决方案。如果没有,请使用 xterm-color-table 或其他颜色参考来查找您喜欢的颜色。
尝试这个:
:hi SpellBad guibg=#ff2929 ctermbg=224
guibg
用于图形用户界面ctermbg
是 TERM我发现对于一个涉及 .vimrc 的更复杂的例子来说,下面的方法可以完成一半的工作colorscheme
,但它对 .vimrc 命令的顺序很敏感。我用 Cygwin/mintty 和 Git Bash、vim 8.0 进行了测试,结果相似。我在标题和段落中编辑了一个带有“拼写错误”的单词的 markdown 文件,因此另一个因素是 vim 为 markdown 所做的自动格式化。如果 .vimrc 的顺序是spell
, colorscheme
, 然后hi
(尝试在红色背景上使用白色文本),则拼写错误的单词的结果是黑色背景上的白色前景(下图),无论是在 markdown 标题还是段落中。这没关系,但我希望拼错单词的背景更醒目,这就是我指定红色背景的原因。
但是,如果顺序是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