在Vim中,有没有办法在搜索行中粘贴文本?

Edw*_*uay 99 vim

我想搜索$maximumTotalAllowedAfterFinish并替换它$minimumTotalAllowedAfterFinish.而不是键入长文本:

:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g
Run Code Online (Sandbox Code Playgroud)

有没有办法将这些长变量名称复制到搜索行,因为在命令行上我不能键入" p"来粘贴?

WMR*_*WMR 122

您可以通过键入来插入编号或命名寄存器的内容CTRLR {0-9a-z"%#:-=.}.通过键入,CTRL-R CTRL-W您可以粘贴光标下的当前单词.看到:

:he cmdline-editing
Run Code Online (Sandbox Code Playgroud)

欲获得更多信息.

  • 谢谢你的回答,对我来说最常见的是:`CTRL` +`R`` +`(因为它适用于剪贴板内容) (7认同)
  • 寄存器“ 0”包含最后拖动的字符串。 (4认同)

Ned*_*Ned 49

正常复制,然后CtrlR"粘贴.还有很多其他CtrlR快捷方式(例如,计算器,当前文件名,剪贴板内容).输入:help c_<C-R>以查看完整列表.


Joh*_*off 14

键入q:以在新缓冲区中进入历史编辑模式.然后编辑缓冲区的最后一行并按下Enter执行它.

  • 这就是缓冲区的用途!谢谢(我总是碰巧在打字时偶然发现:q并弄糊涂) (3认同)
  • “ q /”对于访问搜索历史记录并粘贴新搜索也很有用。 (2认同)

Jas*_*son 12

复制:
1)v(或用鼠标突出显示,在可视模式下)
2)y(猛拉)

粘贴:
1)/(搜索模式)
2)Ctrl + R + 0(从抽出的寄存器粘贴)

  • 当我在谷歌搜索这个问题时,我正在寻找这个答案,我想知道为什么这有反对票。 (2认同)