【发布时间】:2010-10-28 17:42:16
【问题描述】:
我想知道是否有任何方法可以将拉取的文本粘贴到命令窗口。例如,如果我拉出一个单词并且我想在某个位置对其进行 grep,我不能简单地使用 'p' 粘贴该单词。但是,如果我将其复制到剪贴板,Shift-Insert 将粘贴相同的内容。
是否有任何可用的调整可以让我将抽出的文本粘贴到 vim 命令提示符?
我在 Windows 上使用 gvim。
【问题讨论】:
标签: vim
我想知道是否有任何方法可以将拉取的文本粘贴到命令窗口。例如,如果我拉出一个单词并且我想在某个位置对其进行 grep,我不能简单地使用 'p' 粘贴该单词。但是,如果我将其复制到剪贴板,Shift-Insert 将粘贴相同的内容。
是否有任何可用的调整可以让我将抽出的文本粘贴到 vim 命令提示符?
我在 Windows 上使用 gvim。
【问题讨论】:
标签: vim
尝试使用
<ctrl+r>"
其中 " 代表默认寄存器。
【讨论】:
* 而不是",您将获得系统剪贴板的内容(这可能很方便)。
<C-R>" 将粘贴默认缓冲区。或者,您可以使用q: 为下一个命令打开缓冲区。试试:help q:
【讨论】:
q: 太棒了
Esc : ctrl-r,然后键入"
注意:如果您正在拉出包含相对文件路径的完整行,则换行也会被粘贴...即
:! touch src/bash/script.sh^M
如果您不删除最后一个^M,将创建一个包含“\r”的“有趣的文件路径”...
【讨论】:
为了节省你一个拉的步骤,如果你的光标在你想在 Ex 中使用的单词上,使用:
<ctl-r><ctl-w>
这避免了粘贴到命令行;取而代之的是,将光标下的单词直接粘贴到命令行上。例如:
:%s/<ctl-r><ctl-w>/foo/g
【讨论】:
如果只是想复制一个词,可以使用<C-r><C-w>
:vim <C-r><C-w> *
【讨论】:
您可以使用* 命名缓冲区拉到剪贴板。例如,这会将当前行复制到剪贴板:
"*yy
所以你可以使用它复制一行,然后在命令行中使用 shift-insert 粘贴它。
同样,您可以像这样从剪贴板粘贴:
"*p
【讨论】:
剪贴板的+,至少在 Mac 上。所以你可以写"+yy 来拉出一行到剪贴板,"+p 来粘贴。尽管您始终可以使用 Command-C 和 Command-V。
【讨论】: