【发布时间】:2012-01-27 11:38:52
【问题描述】:
我想在多个拆分窗口中搜索 VIM
步骤:
- 在拆分窗口中用“*”突出显示光标下的单词
- 按“n”在所有拆分窗口中跳转到下一个匹配项而不更改 通过 Ctrl-w-w 的窗口
这可能吗?
【问题讨论】:
标签: vim
我想在多个拆分窗口中搜索 VIM
步骤:
这可能吗?
【问题讨论】:
标签: vim
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
【讨论】:
您可以为它创建一个宏,例如:qq*CTRLwCTRLwnCTRLwCTRLwq。
现在您可以点击 @q 进行搜索。你可以为它设置一个map:
:nmap YOUR_FAVOURITE_KEY @q
【讨论】: