当我尝试将数百行或更多行粘贴到Vim中时,即使在粘贴模式下,也需要花费更长时间(10倍或更多?)而不是将相同的文本粘贴到TextEdit中并将其另存为文件.我推测Vim正试图一次插入一个字符,这会减慢速度.当它是一个相当大的粘贴时,我最终必须使用TextEdit保存文本,然后在Vim中打开它.是否有更快的方式粘贴文本?
如果您的Vim是使用剪贴板支持编译的(:echo has('clipboard')
返回1
),您只需使用"+p
或"*p
.
如果不是(:echo has('clipboard')
返回0
),请给自己一个合适的Vim.在Mac OS X上,MacVim是最佳选择.
我推测Vim正试图一次插入一个字符,这会减慢速度.
这是对的.鉴于终端如何工作,它不能采取任何其他方式.在GUI模式下使用GVim/MacVim,问题应该消失.
或者,您可以使用终端命令来加快速度.例如,在Mac上,您可以这样做
:r!pbpaste
Run Code Online (Sandbox Code Playgroud)
粘贴当前行下面的剪贴板中的任何内容.Vim从pbpaste
命令而不是终端获取输入,因此它避免了终端的一个字符一次性的事情.如果你在Linux上,请参阅什么是OSX的Linux的pbcopy.
另一种方法是查看数百条线路的来源.如果它来自另一个文件,将其加载到Vim缓冲区,然后使用Vim的本机复制粘贴(y
,p
).如果它是命令的输出,请考虑首先将命令的输出重定向到文件.如果是网页,curl
那就是.剪贴板和复制粘贴并没有真正体现在原始的基于终端的工作流程中; 管道和文件.