【发布时间】:2014-12-24 01:34:08
【问题描述】:
是否可以在 Vim 中为每一行设置交替突出显示颜色(奇数行号为一种颜色,偶数行号为另一种颜色)?
【问题讨论】:
-
交替的背景颜色适合你吗?在那个线程中似乎有一个脚本可以做到这一点:vim.1045645.n5.nabble.com/…
是否可以在 Vim 中为每一行设置交替突出显示颜色(奇数行号为一种颜色,偶数行号为另一种颜色)?
【问题讨论】:
这可以用文本背景颜色做你想要的:
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 所做的文本之后交替空白“空格”的背景颜色。
【讨论】:
-u NONE 启动 vim/gvim 以加载一个 vanilla 实例,然后查看它是否仍然发生。
没有内置任何内容,因此您必须模仿它(并遭受性能缓慢、干扰严重等后果)候选人将是:match / :call matchadd(),因为这与语法无关突出显示。演示:
hi Alternate guibg=LightGrey guifg=NONE
execute 'match Alternate /\%(' . join(map(range(1,100), '"\\%" . v:val * 2 . "l"'), '\|') . '\)/'
【讨论】: