Вставка огромного количества текста в vim происходит медленно?

Кто-то показал мне, как это сделать раньше, но я не могу понять, что это было сейчас.

Я знаю о :set paste, но это не проблема.

Ответы

Ответ 1

Используйте "*p или "*p для мгновенного вставки из системного буфера обмена.

Vim должен быть скомпилирован с +clipboard, чтобы это работало.

Подробнее см. :help clipboard.

Ответ 2

Это проблема с буфером на диске. Vim пытается сохранить вашу работу в безопасности и не предполагает, что вы можете ввести несколько тысяч символов в секунду. Прочтите :help swap-file некоторые сведения о буферизации. Решение вашей проблемы таково:

Отключите файл vim swapfile либо с помощью:

vim -n <your file>

или изнутри vim перед пастой:

:set noswapfile

Подробнее см. :help swapfile.

Другой вариант - просто отключить синхронизацию на диске файла подкачки с помощью :set swapsync=, но эта опция требует больше нажатий клавиш для отмены, и я ленив.:)

Отключение свопа небезопасно для обычных операций! Сразу же после вставки используйте :set swapfile или :set swapsync=fsync, чтобы вернуться к нормальному поведению (хотя технически нормальное поведение могло быть синхронизировано а не fsync, предварительно проконсультируйтесь с :set swapsync?, если вы хотите пройти этот маршрут).

Ответ 3

По моему опыту :set syntax=off помогает перед вставкой, см. https://askubuntu.com/a/223061/240577 Я видел "медленное" поведение/высокий уровень использования cpu с vim/gvim/mvim on osx, ubuntu, redhat и windows при вставке больших блоков содержимого и подсветки синтаксиса.