【问题标题】:VIM: Search in multiple split-windowsVIM:在多个拆分窗口中搜索
【发布时间】:2012-01-27 11:38:52
【问题描述】:

我想在多个拆分窗口中搜索 VIM

步骤:

  1. 在拆分窗口中用“*”突出显示光标下的单词
  2. 按“n”在所有拆分窗口中跳转到下一个匹配项而不更改 通过 Ctrl-w-w 的窗口

这可能吗?

【问题讨论】:

    标签: vim


    【解决方案1】:
    nnoremap <silent> n :exe (search(@/, 'nW') == 0 ? "normal \<lt>c-w>\<lt>c-w>ggn" : "normal! n")<cr>
    nnoremap <silent> N :exe (search(@/, 'bnW') == 0 ? "normal \<lt>c-w>\<lt>c-w>G$N" : "normal! N")<cr>
    

    这回答了这个问题,但我不觉得它符合 vim 的精神。我更喜欢使用 quickfix 窗口的感觉。

    使用*后执行以下操作:

    :cexpr []|exe "windo vimgrepadd//j %"|copen
    

    现在您可以使用:cn:cp 来浏览搜索。我个人使用 Tim Pope 的unimpaired.vim,它以[q]q 的形式提供了很好的映射。

    :h search(
    :h quickfix
    :h cexpr
    :h windo
    :h vimgrepadd
    :h copen
    :h cn
    

    【讨论】:

      【解决方案2】:

      您可以为它创建一个宏,例如:qq*CTRLwCTRLwnCTRLwCTRLwq

      现在您可以点击 @q 进行搜索。你可以为它设置一个map

      :nmap YOUR_FAVOURITE_KEY @q
      

      【讨论】:

      • 如果未找到搜索,该宏将失败并停止执行
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      • 2010-11-04
      • 1970-01-01
      • 2010-10-28
      • 2010-11-08
      • 1970-01-01
      • 2014-05-08
      相关资源
      最近更新 更多