使用非标准colorscheme突出显示超过80个字符

时间:2011-10-17 17:55:06

标签: vim coding-style

在vim中,当它超过80个字符时,我试图突出显示我的屏幕(我是内核开发人员,这是内核代码的要求)。我在.vimrc文件中使用以下内容来执行此操作

highlight OverLength ctermbg=red ctermfg=white guibg=#59292
match OverLength /\%81v.\+/

这里建议:Vim 80 column layout concerns

但是,我是色盲,因此我无法使用默认的colorscheme并看到屏幕上的文字,因此我也使用:colorscheme torte更改了我的默认colorscheme。但是,看起来colorscheme会覆盖我的突出显示(当我没有指定colorscheme时它突出显示,并且在指定时没有突出显示)。

有没有人对如何使用colorscheme更改进行此操作有任何想法?谢谢你的帮助,

3 个答案:

答案 0 :(得分:21)

如果你有Vim 7.3+,你可以使用:

:set colorcolumn=81

答案 1 :(得分:17)

这是因为大多数配色方案都是在他们的开头有这条线:

hi clear

清除所有突出显示的组(您创建了OverLength)。这很好,因为没有colorscheme设置所有东西,并且使用之前的方案的颜色可能仍然出现。

要解决此问题,不是创建新组,而是将此模式与Error(默认的Vim组)匹配,它将出现在每个颜色方案中。简单地改变你的两行:

match Error /\%81v.\+/

答案 2 :(得分:0)

您可以使用Colorscheme事件来定义OverLength组:

augroup AddOverLength
    autocmd!
    autocmd ColorScheme * :highlight OverLength ctermbg=red ctermfg=white guibg=#59292
augroup END

请注意,您必须在此定义之后将所有对:colorscheme的调用置于vimrc中,或者使用:doautocmd AddOverLength ColorScheme明确启动此事件。