假设 vim 搜索在我的文件中找到了 5 个匹配项。我看到这 5 个匹配项都以黄色突出显示。我按 在这些匹配项之间循环n
。但是,当我的光标从一个匹配项移动到下一个匹配项时,突出显示的颜色都保持不变。这使得很难看清我的光标在哪个匹配项上。有没有办法告诉 vim 用一种颜色突出显示所有匹配项,如果使用 访问匹配项n
,则为当前访问的匹配项添加不同的颜色?
答案1
没有内置选项允许以不同方式突出显示当前内容。在创建搜索时,您可以选择'incsearch'
,但仅此而已。
您可以在搜索突出显示之上使用另一种突出显示,例如:match
;特殊\%#
正则表达式原子将匹配限制在当前光标位置:
:execute 'match IncSearch /\%#' . @/ . '/'
问题在于,只要当前搜索模式 ( @/
) 发生变化,突出显示就需要进行调整(哦,它不能像 那样处理搜索偏移量/foo/e-1
)。因此,您需要覆盖所有与搜索相关的命令(/
、*
等)以将:match
命令挂接到其中。我不建议这样做。