当我拆分 VIM 以显示几个文件或同一文件的不同部分时,有没有办法让我在一个窗口中进行一次搜索,在另一个窗口中进行不同的搜索?例如,我希望上面的窗口具有搜索模式 foo 和下面的窗口有搜索模式 bar.

活动搜索模式会影响使用搜索突出显示时突出显示的内容,当我有 foo 在上面的窗口中突出显示,然后我切换到下面的窗口并搜索 bar, , 和 foo 停止在上方窗口中突出显示。

编辑: 这个问题 似乎相关,但我不确定它是否完全重复。

有帮助吗?

解决方案

我用 用于突出显示多种搜索模式的脚本。

其他提示

如果您经常使用此功能,Canopus 的答案可能是最好的方法,但如果您想使用普通 vim 安装(或者更重要的是,不安装任何插件)来完成此操作,您可以简单地执行以下操作:

:call matchadd('Search', 'foo')
:call matchadd('Search', 'bar')

然后您可以清除所有匹配项

:call clearmatches()

还有一些方法可以让你对清除的内容更加挑剔(使用 :call matchdelete(...))通过将 matchadd 的输出保存到变量中。您可以阅读有关此内容的更多信息 :help matchadd():help matchdelete()

如果您没有使用太复杂的语法文件(特别是没有使用 Rainbow.vim 突出显示),您也可以这样做:

:syn keyword Search foo
:syn keyword Search bar

并清除它

:syn clear Search

我能想到的唯一可能的优点是,如果有一个 很多 您想要突出显示的匹配项 keyword 突出显示比 match 突出显示(因为后者使用正则表达式搜索)。你仍然可以做一个 syn keyword 如果你使用rainbow.vim,则匹配,但命令要复杂得多。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top