无法覆盖背景颜色

时间:2014-05-19 19:51:56

标签: vim

我在.vimrc

中有这个
highlight ColorColumn ctermbg=234 guibg=#2c2d27
let &colorcolumn=join(range(81,999),",")

当我搜索属于此范围的单词时,单词的背景颜色不会显示。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

不幸的是,你做不到。搜索突出显示和hlsearch的优先级是固定的,您只能在使用matchadd()时指定优先级,但即使数字很高,我也无法覆盖'colorcolumn'。它似乎是完全独立的(如语法高亮),并且不能被推翻。

无论如何,颜色列应该是单个(或多个)列,而不是您使用range()技巧创建的广泛区域。所以在某种程度上,你在自己的聪明才智中受苦:你误用了内置功能,现在抱怨副作用。

因此,请回到单个颜色列,或使用较旧Vim版本matchadd()中使用的优先级较低的仿真:

:call matchadd('ColorColumn', '\%>80v', -10)