在 vim 中用于 inc-search 的 Emacs 样式突出显示
Posted
技术标签:
【中文标题】在 vim 中用于 inc-search 的 Emacs 样式突出显示【英文标题】:Emacs style highlighting for inc-search in vim 【发布时间】:2012-04-01 19:04:44 【问题描述】:我知道这个问题之前已经在这个论坛上提出过,但是我没有找到答案,所以这里..
在 Vim 中,有没有办法在搜索时为所有匹配项启用动态突出显示?
如果我启用 incsearch 并键入“/something”,它将仅突出显示第一个匹配项。如果我启用 hlsearch 并输入“/something”,则在我按下回车之前什么都不会发生(它只会突出显示上一个搜索)。
在 emacs 中,第一个匹配项将被突出显示,并且(稍微延迟后)屏幕上的所有其他匹配项都以不同的颜色突出显示,在扫描一段代码中的匹配项时几乎可以立即提供反馈。
【问题讨论】:
【参考方案1】:您可以使用incsearch.vim 插件来做到这一点:
你需要先install插件和bind <Over>(incsearch-...)
。
【讨论】:
【参考方案2】:使用 easy-motion 的 n-search 功能,它完全可以满足您的需求(查看 gif 演示) 奖励:它还会为您调暗背景,让搜索变得容易
https://github.com/Lokaltog/vim-easymotion#n-character-search-motion
【讨论】:
【参考方案3】:您正在寻找 :set incsearch 和 hlsearch。但是,所有匹配项都将具有相同的颜色。
【讨论】:
这个插件为光标下的匹配添加高亮:github.com/dahu/vim-mash 感谢您的回答,但就像我在问题中指出的那样,这个组合并没有给出我正在寻找的结果。 hlsearch 只会在按下 enter 后突出显示所有匹配项,即使我使用 incsearch 也是如此。我想要的是在我输入时突出显示匹配项,然后按 Enter。 感谢 El Isra 的链接,我会查看的。 不幸的是,该插件也不是真正的解决方案。使用 n,N,* 等时突出显示光标下的匹配项 对我来说,vim 与 hlsearch 和 incsearch 一起在我开始输入时开始突出显示。无需插件(Fedora 16)。以上是关于在 vim 中用于 inc-search 的 Emacs 样式突出显示的主要内容,如果未能解决你的问题,请参考以下文章