vim(vim copy-buffer与剪贴板缓冲区不同,非常烦人)

时间:2015-09-13 20:09:24

标签: vim buffer clipboard vi

我在vim中使用了很多复制和粘贴,并且我已经设置了剪贴板=未命名"将vim缓冲区镜像到剪切/粘贴缓冲区;但是,我注意到从vim缓冲区复制时,当粘贴回vim命令时,它会提交命令(好像CR或LF被添加到我的Pastebin中)但是这并没有发生如果我使用我的鼠标右键单击复制/粘贴(没有额外的LF / CR)。例如,我使用visual block来选择文本,yy来复制,然后:%s /(替换文本)但是当我粘贴它时会提交它,但只有当我使用vim复制文本时,第一个地方不是X缓冲区。我真的很讨厌找到我的鼠标,请帮忙!另外,我应该注意到我在Mac上,但我不认为这很重要,vim版本7.4

2 个答案:

答案 0 :(得分:1)

有点难以理解你遇到的问题但是据我所知,你想从缓冲区复制一些文本并将其粘贴到你的命令中,而不会立即执行它。

我认为您想要做的不是使用鼠标将内容粘贴到命令中,而是使用<ctrl-r>,请参阅:help i_CTRL-R,这将允许您粘贴注册表的内容不使用鼠标进入命令,不解释换行符(而是显示为^M)。

E.g。如果您键入yy:%s/<CTRL-R>+,则应在命令中看到:%s/LINE-YOU-YANKED^M

或者,您可以使用不会像yy那样将换行符放在缓冲区中的命令。试试y$^y$

答案 1 :(得分:0)

brettanomyces完全回答了它,我已经玩了一段时间了,当使用visual block时,我可以使用CTRL-R +将缓冲区粘贴到命令字段中。如果我想复制整行,我可以使用^ y $,所以我没有获得换行符,这非常有效。