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

JAV*_*AVH 12 vim

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

脚步:

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

这可能吗?

Pet*_*ker 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>
Run Code Online (Sandbox Code Playgroud)

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

使用后*执行以下命令:

:cexpr []|exe "windo vimgrepadd//j %"|copen
Run Code Online (Sandbox Code Playgroud)

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

看到

:h search(
:h quickfix
:h cexpr
:h windo
:h vimgrepadd
:h copen
:h cn
Run Code Online (Sandbox Code Playgroud)


Zso*_*kai 0

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

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

:nmap YOUR_FAVOURITE_KEY @q
Run Code Online (Sandbox Code Playgroud)