如何在vim中以命令行模式粘贴文本?

Sag*_*ain 0 vi vim

我复制了一个单词来搜索文件.

是否有命令在命令行模式下粘贴该单词.

例如.我在默认寄存器中复制了下面代码中的'static'这个词,我想在命令行模式下粘贴它,如下所示

/静态的

1275 static const struct of_device_id omap_mcspi_of_match[] = {
1276         {
1277                 .compatible = "ti,omap2-mcspi",
1278                 .data = &omap2_pdata,
1279         },
1280         {
1281                 .compatible = "ti,omap4-mcspi",
1282                 .data = &omap4_pdata,
1283         },
1284         { },
1285 };
Run Code Online (Sandbox Code Playgroud)

mer*_*011 7

在命令模式或搜索模式下,键入Ctrl+ R"以从默认寄存器中粘贴.也就是说,键入Ctrl+ R,释放它然后键入".

对于任何其他命名的寄存器,您只需要Ctrl+ R后跟寄存器的名称,如ab.

或者,如果您使用命令q/而不是仅使用命令进入搜索模式,则可以像在普通缓冲区中一样/使用p粘贴方式.


Dhr*_*gar 5

有几种方法可以做到这一点.

  • 检查:h c_^r.在命令行上,您可以说/<C-R>"复制默认寄存器的内容"它将被转换为/static
  • 或者,更方便的方法(在大多数情况下):h c_^r^w用于复制表示的光标下的当前单词<cword>.所以你可以说/<C-R><C-W>,如果/static你的光标在单词static上,那么它将被转换.

  • : `&lt;CR&gt;"` 回答了所提出的问题,但是 `&lt;CR&gt;&lt;CW&gt;` 几乎肯定是根本问题的答案! (2认同)

rom*_*inl 5

如果只是点击*光标static呢?

  • 同意,如果意图只是为了搜索这个词,这将是最有效的解决方案. (3认同)