在功能块中搜索

要在光标周围的 {} 块内搜索文本 foo,请使用以下命令(<ESC> - escape key,<CR> - enter key):

vi{<ESC>/\%Vfoo<CR>

现在你可以通过按 np 在区块内的匹配之间跳转。如果你启用了 hlsearch 选项,则会突出显示所有匹配项。\%V 是一个特殊的搜索模式部分,它告诉 vim 仅在视觉选择区域中搜索。你也可以这样做一个映射:

:vnoremap g/ <ESC>/\%V

在此之后,上述命令缩短为以下内容:

vi{g/foo<CR>

另一个有用的技巧是打印包含该模式的所有行:

vi{
:'<,'>g/foo/#

'<,'> 范围自动插入。

:help range:help :g