Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 使用非标准配色方案突出显示80多个字符_Vim_Coding Style - Fatal编程技术网

Vim 使用非标准配色方案突出显示80多个字符

Vim 使用非标准配色方案突出显示80多个字符,vim,coding-style,Vim,Coding Style,在vim中,我试图让它在超过80个字符时突出显示我的屏幕(我是内核开发人员,这是内核代码的要求)。我在.vimrc文件中使用以下命令来完成此操作 highlight OverLength ctermbg=red ctermfg=white guibg=#59292 match OverLength /\%81v.\+/ 这里有人建议: 但是,我是色盲,因此我无法使用默认的配色方案并在屏幕上看到文本,因此我也使用:colorscheme torte更改默认配色方案。但是,colorscheme似

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

highlight OverLength ctermbg=red ctermfg=white guibg=#59292
match OverLength /\%81v.\+/
这里有人建议:

但是,我是色盲,因此我无法使用默认的配色方案并在屏幕上看到文本,因此我也使用
:colorscheme torte
更改默认配色方案。但是,colorscheme似乎覆盖了对我的高亮显示(当我没有指定colorscheme时,它会很好地高亮显示,当它被指定时,它也不会高亮显示)


有人对如何使用
colorscheme
更改来实现这一点有什么想法吗?感谢您的帮助,

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

:set colorcolumn=81

这是因为大多数配色方案的开头都有这样一行:

hi clear
这将清除所有创建的突出显示组(您创建的超长组)。这是很好的,因为没有一个配色方案可以设置所有的东西,并且使用的前一个方案中的颜色可以保持显示

要解决此问题,不要创建新组,而是将此模式匹配为默认Vim组,它将出现在每个配色方案中。只需将两行代码更改为一行:

match Error /\%81v.\+/

您可以使用
Colorscheme
事件定义超长组:

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

注意,在此定义之后,您必须将在vimrc中发生的对
:colorscheme
的所有调用放入,或者使用
:doautocmd AddOverLength colorscheme

明确启动此事件。这真是太好了,从来都不知道。我总是创建突出显示匹配,这是处理对齐文本的更好方法+这将是我和这个答案之间的优先选择。这一列很容易设置,但是只有一列突出显示(没有什么是a
:set cc=80,81,82,83,84,85
无法解决的:-)。是的。。。我之前看到过这个解决方案,但我有7.2,我还不应该在工作中升级它。谢谢你的帮助@sidyll您还可以使用与“textwidth”相关的数字<代码>设置颜色列=+1、+2、+3。有关更多信息,请参见
:h'cc'
。为我修复了它。多谢各位much@sidyll,在创建拆分窗口时,高亮显示不知怎的消失了。@vrybas我不确定我是否理解它。是垂直分割吗?请考虑单独提出问题;