(我使用的是nord配色方案,但这是我尝试过的所有vim配色方案中的一个问题,我正在寻找需要更改哪些设置才能达到预期的目标)
我在vim中有一个问题,如果我进行搜索,搜索匹配的突出显示文本颜色与视觉模式背景颜色相同,所以如果我搜索某个文本,然后可视地选择包含一个或多个搜索结果的一些文本行,则文本将消失。它之所以这样做,是因为视觉模式改变的是背景颜色,而不是文本颜色,这是人们想要的行为,除了一种情况下的搜索结果,我想改变文本的颜色,但只在视觉模式下。
这在vim中有可能吗?
例子:
(搜索一些文本,并突出显示)

(可视地选择包含搜索结果的几行文本)

如果搜索结果将文本颜色更改为其他可区分的颜色,则表示它们是搜索结果,但仅在视觉模式下。
发布于 2022-03-21 21:10:18
遗憾的是,它没有被记录在案,但是它确实发生了,所以一些突出的组,比如Visual,比其他的组具有某种优先级,比如Search。
hi Visual cterm=NONE ctermbg=cyan   ctermfg=black
hi Search cterm=NONE ctermbg=yellow ctermfg=black

AFAIK,显式增加突出显示组优先级的唯一方法是将其cterm/gui属性设置为reverse,并交换*fg和*bg属性:
hi Visual cterm=NONE    ctermbg=cyan  ctermfg=black
hi Search cterm=reverse ctermbg=black ctermfg=yellow

但即便如此,您也会注意到,只有reverse位在与Visual交互时才有一定的效果,而Search的颜色属性完全被忽略了,这可能是令人满意的,也可能不是令人满意的。
这个要旨解释了如何最好地覆盖突出显示组。
https://stackoverflow.com/questions/71563678
复制相似问题