VIM:在多个拆分窗口中搜索

时间:2012-01-27 11:38:52

标签: vim

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

步骤:

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

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:0)

您可以为它创建一个宏,例如: q q * CTRL w < / KBD> CTRL 瓦特 名词 CTRL 瓦特 CTRL 瓦特 q

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

:nmap YOUR_FAVOURITE_KEY @q