И Shift+, Insertи « вставка » в терминал ведут себя одинаково - они эмулируют нажатия клавиш.
Это важное различие, которое зачастую невозможно сделать терминалам - вы печатаете или вставляете? Примечание : некоторые терминалы поддерживают режимы вставки в скобках ", после комментария @ Джоша я даже наткнулся на вставку в скобках vim в xterm, которая может вас заинтересовать.
Ваши вставленные данные будут потеряны до первого символа, который входит в режим вставки. Вы также можете обнаружить, что курсор перемещен и что другие части файла изменились (например: изменен регистр / был удален / и т. Д.) ...
Таким образом, если вы вставляете текст, который хотите вставить в файл, сначала войдите в режим вставки.
Попробуйте скопировать следующий текст и вставить его в терминал с Vim (не в режиме вставки):
hello how are you
Результат такой же, как при наборе одинаковых букв на клавиатуре:
В этом случае он оставляет вас в режиме вставки ...
Теперь попробуйте выйти из режима вставки Esc- и вставить следующее
/are
n
Это выполняет поиск "являются":
Теперь вставьте это:
:0
dG
О нет ... все прошло!
Вы также обнаружите, что если у вас включен отступ, то вставка блока кода в vim (в режиме вставки) сделает слишком много отступов - это автоматически сделает отступ, а затем вставленный код будет содержать отступы.
def my_print(message):
print(message)
print('done...')
Чтобы исправить это, используйте :set paste
и :set nopaste
команды