在Vim中将交替的高亮颜色设置为文本?

时间:2014-10-28 15:13:38

标签: linux vi vim

是否可以为Vim中的每一行设置交替(一行为奇数行,另一行为偶数行)?

2 个答案:

答案 0 :(得分:4)

这可以通过文本背景颜色实现您想要的效果:

syn match Oddlines "^.*$" contains=ALL nextgroup=Evenlines skipnl
syn match Evenlines "^.*$" contains=ALL nextgroup=Oddlines skipnl

hi Oddlines ctermbg=yellow guibg=#FFFF99 
hi Evenlines ctermbg=magenta guibg=#FFCCFF

只需将其添加到.vimrc或您想要的正确文件类型.rc

由于这会使用syntax功能,因此它仅适用于匹配类型的文本。我不知道是否有办法在hi Normal ctermgb=darkblue guibg=darkblue的文本之后交替空“空格”的背景颜色。

答案 1 :(得分:2)

没有内置任何东西,所以你必须模仿它(并且会受到诸如性能缓慢,干扰不良等后果的影响)候选人将是:match / :call matchadd(),因为那样与语法高亮无关。演示:

hi Alternate guibg=LightGrey guifg=NONE
execute 'match Alternate /\%(' . join(map(range(1,100), '"\\%" . v:val * 2 . "l"'), '\|') . '\)/'