我正在尝试在VIM的可视模式下搜索某一行中复制的部分。
在VIM中,最快的方法是什么?例如,
Hello, #{1} world.
我按下 v 进入可视模式并选择第一行的 llo, #{1} wor
。然后我按下 y 复制所选文本,接着,我想通过按下 / 来搜索被选中的文本。这引发了以下问题:
A: 当我处于搜索模式时,如何粘贴复制的文本?
B: 如何避免在搜索模式下转义字符?
A:
Ctrl-r 0.
B:
除了Ctrl-r 0技巧外,还有Ctrl-r =,它允许您输入要计算的表达式并扩展为结果。
/(现在提示看起来像
/
)
Ctrl-R =(现在提示看起来像=
)
escape(@0, '\^$*.~[')
Enter(现在提示看起来像/llo, #{1} wor
)
Enter
请注意,@reg
表示“寄存器reg
的内容”,寄存器0
是最后一次yank或delete。 我认为逃脱了vi正则表达式中的所有特殊字符……无论如何,您可能更喜欢创建映射而不是键入所有内容。
^M
或 ^@
。 - manav m-n当你剪切一些文本(并且没有指定要剪切到哪个寄存器),它会被放入寄存器 0 中。因此,如果你想搜索该剪贴板中的文本,请按 ESC 进入正常模式,然后执行
/CTRL-r0