虽然:pastetoggle
or:paste
并且:nopaste
应该可以正常工作(如果实施 - 它们并不总是如我们从讨论中看到的那样),我强烈建议使用直接方法粘贴或使用"+p
or"*p
阅读:"+r
"*r
Vim 可以访问十种类型的寄存器 ( :help registers
) 并且提问者感兴趣quotestar
的quoteplus
部分
- 选择和删除寄存器
"*
,"+
以及“~
使用这些寄存器存储和检索 GUI 的选定文本。见quotestar
和quoteplus
。当剪贴板不可用或不工作时,将使用未命名的寄存器。对于 Unix 系统,剪贴板仅在存在 +xterm_clipboard 功能时可用。{Vi 无此功能}
请注意,对于 X11 系统,只有 "* 和 "+ 之间存在区别。
:help x11-selection
进一步阐明 和 的*
区别+
:
quoteplus quote+
有 3 个记录在案的 X 选择:PRIMARY(预期代表当前的可视选择 - 如在 Vim 的可视模式中)、SECONDARY(定义不明确)和 CLIPBOARD(预期用于剪切、复制和粘贴操作) )。
这三个中,Vim 在读取和写入 "* 寄存器时使用 PRIMARY(因此当 X11 选项可用时,Vim 为 "autoselect" 的 'clipboard' 设置默认值),在读取和写入 "+ 寄存器时使用 CLIPBOARD。Vim 不访问 SECONDARY 选择。
示例:(假设默认选项值)
在 Vim 的可视模式中选择一个 URL。转到您的浏览器并在 URL 文本字段中单击鼠标中键。所选文本将被插入(希望如此!)。注意:在 Firefox 中,您可以在 about:config 中将 middlemouse.contentLoadURL 首选项设置为 true,然后在窗口中的大多数位置按下鼠标中键时将使用选定的 URL。
通过用鼠标拖动在浏览器中选择一些文本。转到 Vim 并按鼠标中键:插入选定的文本。
- 在 Vim 中选择一些文本并执行“+y”。转到您的浏览器,通过用鼠标拖动在文本字段中选择一些文本。现在使用鼠标右键并从弹出菜单中选择“粘贴”。所选文本被覆盖来自 Vim 的文本。请注意,“+”寄存器中的文本在进行可视选择时仍然可用,这使得“* 寄存器中的其他文本可用。这允许覆盖选定的文本。