结合搜索动作和猛拉

arg*_*tek 6 vim

y/y?yank直到特定搜索命中是一个生产力的推动,我靠频繁,但有一些一直困扰我一段时间,我的文档搜索和网络没有迄今取得的回答:你怎么能选择不同的命中在猛拉搜索运动的中间?例如说我有一个包含以下内容的缓冲区:

1: foo bar

2: foo baz

3: This line contains the cursor.
Run Code Online (Sandbox Code Playgroud)

假设我输入y?foo正常模式并意识到我不想要第2行中的foo但它在第1行中出现; 在选择我需要完成拉杆操作的那个之前,我是否可以按下这个键以在不同的命中之间导航?(n和N不适用,因为它们改变了搜索模式)

这个简单的例子对我处理的常用大缓冲区内容不公平,因此我可能无法事先看到搜索命中.此外,有时我可能犯了一个错误,并意识到我想在操作过程中找到另一个事件.基本上,我希望能够在操作期间懒洋洋地改变路线.

Fre*_*urk 8

由于这是交互式,因此使用可视模式:

v?foo<cr>ny
Run Code Online (Sandbox Code Playgroud)

给定上面的样本缓冲区,这将向后搜索"foo",找到另一个(向后)匹配,然后抽取所有(视觉上)选定的文本.

视线模式是大写字母V,通常也很有帮助.可视块模式是ctrl-V,有时也很有帮助.


wil*_*ell 4

标记你的位置,搜索,然后猛拉到标记处:

ma
?foo
n
y`a
Run Code Online (Sandbox Code Playgroud)