Интеллектуальный отступ в vim (обычно отличный) - это катастрофа при вставке фрагмента кода. - PullRequest
13 голосов
/ 22 января 2009

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

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

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

Ответы [ 4 ]

21 голосов
/ 22 января 2009

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

15 голосов
/ 22 января 2009

: набор пасты

7 голосов
/ 24 марта 2010

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

set pastetoggle=<F2>
1 голос
/ 16 августа 2012

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

"*p

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

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

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

...