我希望 vim 在输入“/”后立即开始突出显示匹配项。但是该突出显示颜色应该与现有匹配的颜色不同。
例如,我有以下文字:
富吧巴兹
在此序列结束后:
/foo<return>/bar
(请注意,此序列是在正常模式下键入的,并且<return>
在序列末尾按 no)
foo 应该用一种颜色突出显示(称为“找到的匹配”颜色),而 bar 应该用另一种颜色突出显示(增量搜索颜色)。
我希望 vim 在输入“/”后立即开始突出显示匹配项。但是该突出显示颜色应该与现有匹配的颜色不同。
例如,我有以下文字:
富吧巴兹
在此序列结束后:
/foo<return>/bar
(请注意,此序列是在正常模式下键入的,并且<return>
在序列末尾按 no)
foo 应该用一种颜色突出显示(称为“找到的匹配”颜色),而 bar 应该用另一种颜色突出显示(增量搜索颜色)。
您无法使用内置搜索执行此操作。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 插件。(插件页面有其他插件的链接。)