vim可视模式搜索

2022-09-09  本文已影响0人  追梦人在路上不断追寻

您可以通过在模式中使用特殊的转义序列在 Vim 中的可视选择中进行搜索。Vim 将这些称为“原子”,有关更多信息,您可以查看帮助文档::help atom:help ordinary-atom.

这什么时候有用?有时我只想在当前方法中搜索字符串。使用此功能,我可以确定我只在我打算搜索的代码区域中搜索,并且不会在文件周围反弹。

要使用,首先在视觉上选择一些文本区域。我可以手动执行此操作,然后shift-V选择行。但在我最常见的情况下,我将使用一个命令来虚拟地选择当前段落****的一个圆形。(并确保您知道如何编辑视觉选择——这是我们最受欢迎的技巧之一。)j``k``vap

一旦你选择了一些东西,按下Esc退出选择模式。然后 search using/和 use\%V向 Vim 表明你只想搜索最后一个视觉选择。

例如:/\%Vfoobar将在最后一个视觉选择中搜索foobar.

在下面的视觉选择中有一个简短的搜索演示。首先,我用vap. 然后我request使用/\%Vrequest.

(对于这个演示,我将突出显示颜色设置为黄色,以便使用以下内容脱颖而出::hi Search ctermbg=Yellow ctermfg=Black。)

如何在 Vim 的视觉选择中搜索?

您可以使用\%V模式中的转义序列在 Vim 中的最后一个可视选择中进行搜索。只需搜索一个单词或短语,但要像这样添加该序列:

/\%Vfoobar

Vim 将把它的搜索限制在最后一个可视选择的文本区域。

Vim 视觉选择搜索什么时候有用?

因为视觉选择可以扩展到文本的任何区域,所以在很多情况下您可能只在视觉选择中进行搜索。但是一个常见的用例是在方法内部进行搜索,您通常可以使用该方法进行选择vap通常选择****一个****圆形段落)。

我不能在 Vim 中直观地选择然后使用 / 进行搜索吗?

不,当您在 Vim 中处于可视选择模式时,使用/会将您的搜索区域扩展到下一个匹配项,这意味着您不能只选择并突出显示文本然后在其中搜索。您首先必须停止视觉选择,Esc然后\%V在最后一个视觉选择中搜索并使用匹配。

%V Vim 文档是什么?

在可视区域内匹配。当视觉模式已经停止时,匹配gv将重新选择的区域。这是一场/zero-width比赛。为确保整个图案位于可视区域内,请将其放在图案的开头和结尾之前
,例如:

/\%Vfoo.*ba\%Vr

如果仅以可视方式选择了“foo bar”,这也有效。这个:

/\%Vfoo.*bar\%V

如果视觉选择在“r”之后继续,将匹配“foo bar”。仅适用于当前缓冲区。

上一篇下一篇

猜你喜欢

热点阅读