0

我希望 vim 在输入“/”后立即开始突出显示匹配项。但是该突出显示颜色应该与现有匹配的颜色不同。

例如,我有以下文字:

富吧巴兹

在此序列结束后:

/foo<return>/bar

(请注意,此序列是在正常模式下键入的,并且<return>在序列末尾按 no)

foo 应该用一种颜色突出显示(称为“找到的匹配”颜色),而 bar 应该用另一种颜色突出显示(增量搜索颜色)。

4

1 回答 1

1

您无法使用内置搜索执行此操作。Vim 总是会用 突出显示下一个匹配IncSearch项,以及所有其他匹配项(相同的,当前键入的模式)用Search突出显示组(假设你有:set hlsearch incsearch)。

如果你想保留上一个匹配,你必须定义你自己的突出显示,例如像这样(仅在当前窗口中):

:hi def link PreviousSearch MoreMsg " Define some different highlight group based on some existing one.
:execute 'match PreviousSearch /' . @/ . '/'

插件推荐

如果您需要多个并发匹配,以及涵盖所有窗口和选项卡(以及许多额外功能)的更强大的实现,请查看我的Mark 插件。(插件页面有其他插件的链接。)

于 2018-02-05T17:13:41.113 回答