Умный отступ в vim (обычно большой) - это катастрофа при вставке в кусок кода

Я думаю, что другие редакторы достаточно умны, чтобы отключить этот материал для вставки, но при использовании vim в терминале он не может различать вставку и фактическую типизацию.

Какие виды решений или обходные пути у вас есть?

Добавлено: существует также параметр, который автоматически добавляет комментарии к следующей строке. Отступы, по крайней мере, не меняют семантику кода, но продолжение автоматического комментария действительно затягивает вещи. Подумайте об этом, я должен просто отключить это вообще - кто-нибудь знает, что называется этой опцией?

Ответ 1

: установить вставку - это путь, но если вы забудете, как я часто это делаю, тогда, если вы используете язык с {} как открытый/закрытый блок, тогда выполните a =% для первого {или last} будет повторно применять отступы.

Ответ 2

: установить пасту

Ответ 3

добавьте это в свой .vimrc и используйте его с клавишей F2 для переключения состояния вставки до и после добавления в куски кода:

set pastetoggle=<F2>

Ответ 4

Другой способ сделать это, предполагая, что ваш системный буфер настроен правильно, - это делать

"*p

Это будет вставляться из системного буфера обмена.

Проверьте vim --version. На OS X вам понадобится +clipboard и на Linux +xterm_clipboard, я полагаю.

Если вы находитесь на OS X, вы всегда можете brew install macvim и использовать mvim -v вместо связанного Vim (он не был скомпилирован с +clipboard).