【问题标题】:How to copy yanked text to VI command prompt如何将复制的文本复制到 VI 命令提示符
【发布时间】:2010-10-28 17:42:16
【问题描述】:

我想知道是否有任何方法可以将拉取的文本粘贴到命令窗口。例如,如果我拉出一个单词并且我想在某个位置对其进行 grep,我不能简单地使用 'p' 粘贴该单词。但是,如果我将其复制到剪贴板,Shift-Insert 将粘贴相同的内容。

是否有任何可用的调整可以让我将抽出的文本粘贴到 vim 命令提示符?

我在 Windows 上使用 gvim。

【问题讨论】:

    标签: vim


    【解决方案1】:

    尝试使用

    <ctrl+r>"
    

    其中 " 代表默认寄存器。

    【讨论】:

    • 请注意,这也可以在正常插入模式下工作,而不仅仅是在命令行上。
    • 如果您使用* 而不是",您将获得系统剪贴板的内容(这可能很方便)。
    【解决方案2】:

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

    【讨论】:

    • 天哪,q: 太棒了
    【解决方案3】:
    • 首先确保您在正常模式下按Esc
    • 在普通模式下,按:
    • 然后使用键盘组合ctrl-r,然后键入"

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

    如果您不删除最后一个^M,将创建一个包含“\r”的“有趣的文件路径”...

    【讨论】:

      【解决方案4】:

      为了节省你一个拉的步骤,如果你的光标在你想在 Ex 中使用的单词上,使用:

       <ctl-r><ctl-w>
      

      这避免了粘贴到命令行;取而代之的是,将光标下的单词直接粘贴到命令行上。例如:

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

      【讨论】:

        【解决方案5】:

        如果只是想复制一个词,可以使用&lt;C-r&gt;&lt;C-w&gt;

        1. 将光标放在单词上
        2. 然后你可以输入类似:vim &lt;C-r&gt;&lt;C-w&gt; *

        【讨论】:

          【解决方案6】:

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

          "*yy
          

          所以你可以使用它复制一行,然后在命令行中使用 shift-insert 粘贴它。

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

          "*p
          

          【讨论】:

            【解决方案7】:

            剪贴板的+,至少在 Mac 上。所以你可以写"+yy 来拉出一行到剪贴板,"+p 来粘贴。尽管您始终可以使用 Command-C 和 Command-V。

            【讨论】:

              猜你喜欢
              • 2016-04-23
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-12-10
              • 1970-01-01
              • 1970-01-01
              • 2014-03-25
              • 2015-12-10
              相关资源
              最近更新 更多