【问题标题】:How to set vim incremental search highlight color different from existing search match color如何设置与现有搜索匹配颜色不同的vim增量搜索突出显示颜色
【发布时间】:2018-07-15 13:39:40
【问题描述】:

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

例如,我有以下文字:

富吧巴兹

此序列结束后:

/foo<return>/bar

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

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

【问题讨论】:

    标签: vim colors incremental-search


    【解决方案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 plugin。 (插件页面有其他插件的链接。)

    【讨论】:

    • 抱歉,我的问题格式已关闭。关键顺序是:/foo<return>/bar 不是/foo/bar 但我认为这不会改变你的答案。虽然我可以发誓我使用扩展或其他东西在 vim 6.0 左右有这种行为。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 2015-07-24
    • 2011-10-29
    • 2022-11-15
    • 2014-08-06
    • 2017-12-09
    • 1970-01-01
    相关资源
    最近更新 更多