为什么在Vim'中粘贴长的一行程序非常慢;s插入模式?

为什么在Vim'中粘贴长的一行程序非常慢;s插入模式?,vim,paste,Vim,Paste,我的Macbook昨天被卡住了,当时我试图将1200行80个字符粘贴到Vim上。下载文件比粘贴文本快得多 我认为这个问题可能是原因,为什么互联网运营商允许上传速度比下载速度慢。您尝试过粘贴模式吗?设置粘贴/set nopaste?我不知道这是Mac问题还是其他问题,但我在Vim中粘贴那么多文本没有任何问题。我在Windows和Linux上试过,没有发现任何问题 我已经成功地在Vim中编辑了数百兆的文件(日志文件)(加载速度很慢,但一旦读取文本,一切都很快)。如果使用Apple终端,请尝试其他终端

我的Macbook昨天被卡住了,当时我试图将1200行80个字符粘贴到Vim上。下载文件比粘贴文本快得多


我认为这个问题可能是原因,为什么互联网运营商允许上传速度比下载速度慢。

您尝试过粘贴模式吗?设置粘贴/set nopaste?

我不知道这是Mac问题还是其他问题,但我在Vim中粘贴那么多文本没有任何问题。我在Windows和Linux上试过,没有发现任何问题


我已经成功地在Vim中编辑了数百兆的文件(日志文件)(加载速度很慢,但一旦读取文本,一切都很快)。

如果使用Apple终端,请尝试其他终端,如iTerm。
有时,“内置”终端对于普通任务不是真正的反应式。不知道为什么…

但是如果是在网络上,你应该尝试:

:e http://link/to/file 
然后,如有必要,将其另存为本地文件

如果由于重绘而变慢,请查看此选项:

            *'lazyredraw'* *'lz'* *'nolazyredraw'* *'nolz'*
'lazyredraw' 'lz'   boolean (default off)
            global
            {not in Vi}
    When this option is set, the screen will not be redrawn while
    executing macros, registers and other commands that have not been
    typed.  Also, updating the window title is postponed.  To force an
    update use |:redraw|.
如果是本地文件,则不需要粘贴:请尝试

:read file 
相反。

这是“正常的”。它很慢,因为将文本重画数千次是很慢的

在粘贴长行时,它会不断更新显示(因为vim是如何处理文本的,或者终端是如何处理vim文本的,我猜)

我尝试在vim中粘贴文本(使用iTerm),但它也有同样的问题,粘贴需要一段时间。我尝试了
:set paste
:set nowrap
,但仍然很慢。将线路直接粘贴到终端也同样缓慢

对于您提到的dpaste链接,有一个纯文本链接,您可以对其进行wget和编辑:

curl http://dpaste.com/115362/plain/ | vim -

如果您将其粘贴到终端窗口中,Vim会认为您是在手动输入,并且它会尝试在执行时更新显示。您可以使用
pbpaste
pbcopy
命令访问剪贴板(在OS X上),因此您可以在Vim中执行此操作:

:read !pbpaste
或在壳中:

bash$ pbpaste | vim -
如果您使用的是GUI Vim,您将使用
“*
寄存器进行粘贴(这是上下文菜单的功能):


“*P

如果禁用语法,有时可以改进长单行文件的就地粘贴。例如,机器生成的xml文件

您可能也可以在粘贴时禁用vim的重画,请看:he redraw,但始终值得使用命令行内容,就好像您在重复该过程或类似过程一样,您始终可以使用脚本/vim宏将其自动化

如果您正在使用Linux,请使用:

xsel --clipboard --output
或:


而不是pbpaste。

我喜欢像Masi建议的那样设置paste/nopaste。 在.vimrc中,您可以映射一些字符以切换粘贴(如果经常需要)

i、 e

set pastetoggle=§

这不是mac的问题。Ubuntu中也存在同样的问题。请看问题。我澄清了。问题似乎在于粘贴没有输入或空格的文本。没有输入怎么可能有1200行?从链接的复制页粘贴文本块仍然是Windows上Vim的一个管理单元。我会怀疑终端。这不是问题:Ubuntu也有同样的问题。请再看一遍这个问题。我澄清了它。如果它不在网络上,那么为什么不干脆做“:e/path/to/file”?这是一个救命稻草!由于某种原因,vim paste在过去的几年中变得越来越慢,现在已经无法忍受了。非常明确地说,对于Ubuntu/Kubuntu用户,使用“sudo install xsel”进行安装。然后在vim中,输入“:r!xsel--clipboard--output”以粘贴剪贴板。非常感谢。我一直在寻找xsel。
xsel --clipboard --output
xclip -selection clipboard -o
set pastetoggle=§