【问题标题】:separate searches in windows in VIM在 VIM 的窗口中单独搜索
【发布时间】:2010-11-04 18:40:34
【问题描述】:

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

主动搜索模式会影响使用搜索突出显示时突出显示的内容,当我在上部窗口中突出显示 foo,然后切换到下部窗口并搜索 bar 和 @ 时,这很烦人987654326@ 停止在上方窗口中突出显示。

编辑: This question 似乎是相关的,但我不确定它是否完全重复。

【问题讨论】:

    标签: search vim split


    【解决方案1】:

    我使用this 脚本来突出显示多个搜索模式。

    【讨论】:

      【解决方案2】:

      如果您经常使用 Canopus 的答案可能是最好的方法,但是如果您想使用 vanilla vim install 来安装(或者更重要的是,不安装任何插件),您可以简单地做:

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

      然后您可以使用

      清除所有匹配项
      :call clearmatches()
      

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

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

      :syn keyword Search foo
      :syn keyword Search bar
      

      并用

      清除它
      :syn clear Search
      

      我能想到的唯一可能的优势是,如果您要突出显示很多匹配项,keyword 突出显示比 @ 快很多987654329@ 高亮(因为后者使用正则表达式搜索)。如果您使用的是 rainbow.vim,您仍然可以进行 syn keyword 匹配,但命令要复杂得多。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多