如何将抽取的文本复制到VI命令提示符

时间:2009-05-25 12:25:16

标签: vim

我想知道是否有任何方法可以将抽取的文本粘贴到命令窗口。例如。如果我拉了一个字,我想在某个地方grep它,我不能简单地用'p'粘贴这个词。但是,如果我将其复制到剪贴板,Shift-Insert将粘贴相同的东西。

是否有任何调整可以让我将抽取的文本粘贴到vim命令提示符? 我在Windows上使用gvim。

7 个答案:

答案 0 :(得分:161)

尝试使用

<ctrl+r>"

其中“代表默认寄存器。

答案 1 :(得分:39)

<C-R>"将粘贴默认缓冲区。或者,您可以使用q:为下一个命令打开缓冲区。试试:help q:

答案 2 :(得分:17)

  • Esc
  • 确保首先处于正常模式
  • 在正常模式下,按:
  • 然后使用键盘组合ctrl-r,然后键入"

注意:如果您正在整行包含相对文件路径的整行,则也会粘贴换行符...即 :! touch src/bash/script.sh^M

如果你不删除最后一个^M

将创建一个包含“\ r”的“有趣的文件路径”...

答案 3 :(得分:12)

要为您节省一步,如果您的光标位于要在Ex中使用的单词上,请使用:

 <ctl-r><ctl-w>

这避免了yanking粘贴到命令行;相反,将一个光标下的单词直接粘贴到命令行上。例如:

:%s/<ctl-r><ctl-w>/foo/g

答案 4 :(得分:5)

如果只是您要复制的单词,则可以使用<C-r><C-w>

  1. 将光标放在单词
  2. 然后您可以输入类似:vim <C-r><C-w> *
  3. 的内容

答案 5 :(得分:3)

您可以使用*命名缓冲区来抓取到剪贴板。例如,这会将当前行复制到剪贴板:

"*yy

因此,您可以使用此方法复制一行,然后在命令行中使用shift-insert粘贴它。

同样,您可以像这样从剪贴板粘贴:

"*p

答案 6 :(得分:2)

剪贴板的+,至少在Mac上。因此,您要写"+yy以将一行划线到剪贴板,然后"+p进行粘贴。虽然你总是可以使用Command-C和Command-V。