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)
您可以为其创建一个宏,例如:qq*CTRLwCTRLwnCTRLwCTRLwq。
现在您可以点击@q进行搜索。你可以为它设置一个map:
:nmap YOUR_FAVOURITE_KEY @q
Run Code Online (Sandbox Code Playgroud)