Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据粘贴到vim中比粘贴模式更快?_Vim_Copy Paste - Fatal编程技术网

将数据粘贴到vim中比粘贴模式更快?

将数据粘贴到vim中比粘贴模式更快?,vim,copy-paste,Vim,Copy Paste,当我尝试将数百行或更多行粘贴到Vim中时,即使是在粘贴模式下,也要比将相同的文本粘贴到TextEdit并保存为文件花费更长的时间(10倍或更多?)。我推测Vim试图一次插入一个字符,这会减慢速度。当它是一个相当大的粘贴时,我不得不用TextEdit保存文本,然后在Vim中打开它。有没有更快的方法粘贴文本 我推测Vim试图一次插入一个字符,这会减慢速度 这是正确的。考虑到终端的工作方式,它不能走其他的路。在GUI模式下使用GVim/MacVim,问题应该会消失 或者,您可以使用终端命令来加快速度。

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

我推测Vim试图一次插入一个字符,这会减慢速度

这是正确的。考虑到终端的工作方式,它不能走其他的路。在GUI模式下使用GVim/MacVim,问题应该会消失

或者,您可以使用终端命令来加快速度。例如,在Mac上,您可以

:r!pbpaste
将剪贴板中的内容粘贴到当前行下方。Vim从
pbpaste
命令获取输入,而不是终端,因此它避免了终端一次只能输入一个字符的情况。如果您使用的是Linux,请参阅


另一种方法是查看数百条线路的来源。如果它来自另一个文件,请将其加载到Vim缓冲区,然后使用Vim的本机复制粘贴(
y
p
)。如果它是命令的输出,请考虑将命令的输出重定向到文件。如果是网页,
curl
。剪贴板和复制粘贴并没有真正融入基于终端的原始工作流中;管道和文件可以。

如果您的Vim是使用剪贴板支持编译的(
:echo有('clipboard')
返回
1
),您只需使用
“+p
”*p

如果不是(
:echo有('clipboard')
返回
0
),给自己准备一个合适的Vim。在Mac OS X上,MacVim是一个不错的选择。

我认为评测(
:h评测
)比推测更有用。:)