当出现拼写错误(set spell
)时,它突出显示为红色(好!),但当该行突出显示为当前行时,红色消失(坏)。删除set cul
可以解决问题,但如何在突出显示时将单词标记为红色?我可能会在一条线上拼错多个单词,并且在输入拼写错误时也会隐藏,直到我转到下一个有点糟糕的情况。
vimrc:https://gist.github.com/OscarGodson/d1b05d52df4ff160b891
colorscheme:https://github.com/tomasr/molokai
答案 0 :(得分:5)
1)可以改变vim配色方案或SpellBad高亮方案;第二种情况的一个例子是在vimrc中添加以下内容,
hi clear SpellBad
hi SpellBad cterm=bold
2)(不是解决方案)某人可能会发现“在撰写时拼写检查”有点烦人/分散注意力,并且喜欢在完成文章写作之前切换拼写检查。
答案 1 :(得分:1)
问题是光标线突出显示优先于语法高亮(法术错误属于那个),并且无法更改。 (您只能使用较新的matchadd()
函数指定优先级。)
我曾经raised this issue for error highlighting,但没有任何结果。 (我仍然想在那一天实施补丁。)
问题仅在于背景突出重叠;在GVIM中,大多数配色方案使用 undercurl 属性来避免该问题。在控制台中,您只能将突出显示更改为前景色,斜体或粗体属性。
答案 2 :(得分:0)
奇怪的是,从其他海报中跳出两个答案,在我的vimrc中添加以下内容使我的红色背景意外持续,因为我的终端无法实现“斜体”开关,因为它无法混合字体类型像那样(我想)。我把它放在我的vimrc中为gvim测试的部分,因为gvim突出了我的拼写错误而没有问题。试一试!
if has("gui_running")
#all my gvim settings
else #we're in terminal
hi clear SpellBad
hi SpellBad cterm=bold,italic ctermfg=red
endif