当我尝试将数百行或更多行粘贴到Vim中时,即使在粘贴模式下,也需要更长的时间(10次或更多?)而不是将相同的文本粘贴到TextEdit并保存为文件。我推测Vim试图一次插入一个字符,这会减慢速度。当粘贴的内容很大时,我最终不得不用TextEdit保存文本,然后在Vim中打开它。有没有更快的方法来粘贴文本?
ds97pgxw1#
如果您的Vim编译时支持剪贴板(:echo has('clipboard')返回1),您可以简单地使用"+p或"*p。如果不是(:echo has('clipboard')返回0),那么就给自己买一个合适的Vim。在Mac OS X上,MacVim是最好的选择。
:echo has('clipboard')
1
"+p
"*p
0
jgovgodb2#
我会推测Vim正试图一次插入一个字符,这是在放慢速度。这是正确的。考虑到终端的工作方式,它不能走任何其他的路。在GUI模式下使用GVim/MacVim,问题应该会消失。或者,您可以使用终端命令来加快速度。例如,在Mac上,您可以
:r!pbpaste
将剪贴板中的内容粘贴到当前行的下方。Vim从pbpaste命令而不是终端获取输入,因此避免了终端一次一个字符的操作。如果您使用的是Linux,请参阅What's like OSX's pbcopy for Linux。另一种方法是查看这数百行代码的来源。(y,p)。如果是命令输出,请考虑先将命令输出重定向到文件。如果是网页,剪贴板和复制粘贴并没有真正融入到最初的基于终端的工作流程中;管道和文件可以。
pbpaste
y
p
xa9qqrwz3#
很简单。首先复制内容,然后:
pbpaste > /path/to/newfile
3条答案
按热度按时间ds97pgxw1#
如果您的Vim编译时支持剪贴板(
:echo has('clipboard')
返回1
),您可以简单地使用"+p
或"*p
。如果不是(
:echo has('clipboard')
返回0
),那么就给自己买一个合适的Vim。在Mac OS X上,MacVim是最好的选择。jgovgodb2#
我会推测Vim正试图一次插入一个字符,这是在放慢速度。
这是正确的。考虑到终端的工作方式,它不能走任何其他的路。在GUI模式下使用GVim/MacVim,问题应该会消失。
或者,您可以使用终端命令来加快速度。例如,在Mac上,您可以
将剪贴板中的内容粘贴到当前行的下方。Vim从
pbpaste
命令而不是终端获取输入,因此避免了终端一次一个字符的操作。如果您使用的是Linux,请参阅What's like OSX's pbcopy for Linux。另一种方法是查看这数百行代码的来源。(
y
,p
)。如果是命令输出,请考虑先将命令输出重定向到文件。如果是网页,剪贴板和复制粘贴并没有真正融入到最初的基于终端的工作流程中;管道和文件可以。xa9qqrwz3#
很简单。首先复制内容,然后: