当光标位于当前单词上时,我已经开始使用*
和学习 Vim 单词搜索#
。但此搜索仅限于当前文件缓冲区。
是否有命令或快捷方式将此搜索扩展到:
这实际上是默认行为,尽管可能很难注意到:尝试*
然后更改为另一个选项卡并在命令模式下使用n
ansN
在搜索命中之间向前和向后跳转。
如果首先为所有点击打开突出显示,这可能更有意义:
:set hlsearch
Run Code Online (Sandbox Code Playgroud)
我没有针对您的问题的确切解决方案,希望会出现比我更好的答案。但这就是我解决在所有缓冲区中查找单词的问题的方法。
" enables to search in all open buffers with :Search <pattern>
command! -nargs=1 Search call setqflist([]) | silent bufdo grepadd! <args> %
nnoremap <left> :cprev<cr>zvzz
nnoremap <right> :cnext<cr>zvzz
Run Code Online (Sandbox Code Playgroud)
第一行创建一个Search
以搜索模式作为参数的命令,它将结果写入一个 quickfix 列表。另外两行将(至少对我而言)无用的箭头键映射到有用的东西;它们被映射为跳转到下一个/上一个搜索或下一个/上一个编译错误等,它们只需遍历快速修复列表。您可以按如下方式使用它:
:Search foobar
<right>
<right>
…
Run Code Online (Sandbox Code Playgroud)