Tanto Shift+ Insertcomo " pegar " en un terminal se comportan de manera similar: emulan las pulsaciones de teclas.
Esta es una distinción importante que a menudo es imposible para los terminales: ¿está escribiendo o pegando? Nota : algunos terminales admiten modos de " pegado entre paréntesis ", después del comentario de @ Josh incluso me encontré con un complemento vim pegado entre corchetes en xterm que puede interesarle.
Sus datos pegados se perderán hasta el primer carácter que ingrese al modo de inserción. También puede encontrar que su cursor se ha movido y que otras partes del archivo han cambiado (por ejemplo: caso modificado / eliminado / etc.) ...
En resumen, si está pegando el texto que desea insertar en el archivo, ingrese primero al modo de inserción.
Intente copiar el siguiente texto y péguelo en un terminal que ejecute Vim (no en modo de inserción):
hello how are you
El resultado es el mismo que escribir las mismas letras en su teclado:
En este caso, te deja en modo de inserción ...
Ahora intente salir del modo de inserción Esc- y pegue lo siguiente
/are
n
Esto realiza una búsqueda de "are":
Ahora pegue esto:
:0
dG
Oh no ... todo se fue!
También encontrará que si tiene la sangría habilitada, pegar un bloque de código en vim (en modo de inserción) sangrará demasiado: sangrará automáticamente y luego su código pegado incluirá sangría.
def my_print(message):
print(message)
print('done...')
Para solucionar esto, use los comandos :set paste
y:set nopaste