将数据粘贴到VIM中比粘贴模式更快的方法?

nzkunb0c  于 2022-11-11  发布在  其他
关注(0)|答案(3)|浏览(164)

当我尝试将数百行或更多行粘贴到Vim中时,即使在粘贴模式下,也需要更长的时间(10次或更多?)而不是将相同的文本粘贴到TextEdit并保存为文件。我推测Vim试图一次插入一个字符,这会减慢速度。当粘贴的内容很大时,我最终不得不用TextEdit保存文本,然后在Vim中打开它。有没有更快的方法来粘贴文本?

ds97pgxw

ds97pgxw1#

如果您的Vim编译时支持剪贴板(:echo has('clipboard')返回1),您可以简单地使用"+p"*p
如果不是(:echo has('clipboard')返回0),那么就给自己买一个合适的Vim。在Mac OS X上,MacVim是最好的选择。

jgovgodb

jgovgodb2#

我会推测Vim正试图一次插入一个字符,这是在放慢速度。
这是正确的。考虑到终端的工作方式,它不能走任何其他的路。在GUI模式下使用GVim/MacVim,问题应该会消失。
或者,您可以使用终端命令来加快速度。例如,在Mac上,您可以

:r!pbpaste

将剪贴板中的内容粘贴到当前行的下方。Vim从pbpaste命令而不是终端获取输入,因此避免了终端一次一个字符的操作。如果您使用的是Linux,请参阅What's like OSX's pbcopy for Linux
另一种方法是查看这数百行代码的来源。(yp)。如果是命令输出,请考虑先将命令输出重定向到文件。如果是网页,剪贴板和复制粘贴并没有真正融入到最初的基于终端的工作流程中;管道和文件可以。

xa9qqrwz

xa9qqrwz3#

很简单。首先复制内容,然后:

pbpaste > /path/to/newfile

相关问题