Pasting a huge amount of text into vim is slow?
This is a buffer flush-to-disk problem. Vim tries to keep your work safe and doesn't assume you can type several thousand characters per second. Read :help swap-file
for some details on the buffering. The solution to your problem is this:
Turn off vim's swapfile either with:
vim -n <your file>
or from within vim before the paste:
:set noswapfile
See :help swapfile
for more details.
Another option is to simply turn off the syncing to disk of the swap file with :set swapsync=
but this option takes more keystrokes to undo and I'm lazy. :)
Turning off swap is not safe for normal operations! Immediately after the paste, either use :set swapfile
or :set swapsync=fsync
to revert back to normal behavior (though technically, normal behavior might have been sync and not fsync, check with :set swapsync?
beforehand if you want to go this route).
Use "*p
or "*P
to paste from the system clipboard instantly.
Vim must be compiled with +clipboard
for this to work.
See :help clipboard
for more information.
In my experience :set syntax=off
helps before pasting, see https://askubuntu.com/a/223061/240577 I've seen 'slow' behavior/high cpu usage with vim/gvim/mvim on osx, ubuntu, redhat and windows when pasting large blocks of content and syntax highlighting is on.