当我使用CTRL-V将(例如)在Acrobat Reader中打开的PDF中的两行文本复制到g
vim中时,文本将插入到我所在的g
vim中的行上方,而不是光标所在的位置. (场景:我想复制一个分散在两行的文档标题,并将其粘贴到gvim中的html标记之间).
如果我使用单行文本执行相同操作,则文本将正确粘贴到光标的位置.
我该怎么做才能使它也可以使用两行文本(例如’粘贴没有格式化’)?
重要提示:要粘贴的字符串由两个由回车符(或类似的东西)分隔的行组成!
解
实际上有两个有效的解决方案:
>使用CTRL-R *粘贴光标位置(并保持剪贴板内容为多行)
>重新映射粘贴命令以替换剪贴板字符串中的所有回车符
首先,似乎CTRL-V被映射到某种东西,因为通常使用CTRL-V(CTRL-V是可视块)在VIM中进行粘贴.
其次,您所看到的行为是标准的vi [m]行为,如果您划出一条或多条整行,则粘贴将始终在当前行的上方或下方产生一条或多条线.
我不知道有任何内置的方法来实现你想要做的事情.但你总是可以将CTRL-V重新映射到你想要的东西,即
:map <C-V> i<CR><Esc>"*P
在粘贴之后,您的光标所在的字符之间会有多行,但这种重新映射可能不是您想要的其他情况.
编辑
好的,我找到了另一种方式.
在插入模式下,键入
CTRL-R *