在VIM

时间:2016-01-21 23:29:59

标签: regex vim

This SO post 描述了如何突出显示超过给定行号的VIM中的所有字符(在本例中为80)。

我想要有两组突出显示的字符,81-100列用一种背景颜色突出显示,101+列用另一种背景颜色突出显示。

这是我到目前为止所尝试的内容:

" Light highlight characters past column 80.  Red highlight past 100.
highlight OverLength1 ctermbg=red ctermfg=white guibg=#5b4f62
match OverLength1 /\%81v.\+/
highlight OverLength2 ctermbg=red ctermfg=white guibg=#990500
match OverLength2 /\%101v.\+/

以及第3行的这种变化:

match OverLength1 /\%81v.\+($|100v)/

两者都不起作用。我能得到的最好的就是单独匹配101+;似乎第二场比赛将覆盖第一场比赛。

我不喜欢colorcolumn选项,我不想突出显示空列,只是指定范围内的文本。

1 个答案:

答案 0 :(得分:1)

尝试

" Light highlight characters past column 80.  Red highlight past 100.
highlight OverLength1 ctermbg=red ctermfg=white guibg=#5b4f62
match OverLength1 /\%81v.\+/
highlight OverLength2 ctermbg=red ctermfg=white guibg=#990500
2match OverLength2 /\%101v.\+/

:h 2match上了解详情。