І 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