Intenté pegar algo de contenido (en Git Bash en el servidor CentOS) en un archivo usando vim.
Acabo de abrir el archivo e intenté usar shift+ inserty noté que la primera mitad (aproximadamente) se corta, pero si configuro vim en modo de inserción y presiono shift+, inserttodo se pega perfectamente.
¿Me preguntaba por qué es esto?
Gracias
Respuesta1
Tanto Shift+ Insertcomo "pegado" en una terminal se comportan de manera similar: emulan las pulsaciones de teclas.
Esta es una distinción importante que a menudo es imposible de hacer para los terminales: ¿estás escribiendo o pegando?Nota: algunos terminales admiten "pasta entre corchetes"modos, después del comentario de @Josh incluso me encontré con uncomplemento vimpegar entre corchetes enxtermque te puede interesar.
Los datos pegados se perderán hasta el primer carácter que entre en modo de inserción. También puede encontrar que su cursor se ha movido y que otras partes del archivo han cambiado (por ejemplo: cambio de mayúsculas y minúsculas/se ha eliminado/etc)...
En resumen, si está pegando el texto que desea insertar en el archivo, primero ingrese al modo de inserción.
Intente copiar el siguiente texto y péguelo en una 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 tu teclado:
En este caso te deja en modo insertar...
Ahora intente salir del modo de inserción Escy pegue lo siguiente
/are
n
Esto realiza una búsqueda de "son":
Ahora pega esto:
:0
dG
Oh no... ¡todo se ha ido!
También encontrará que si tiene habilitada la sangría, al pegar un bloque de código en vim (en modo de inserción) se sangrará demasiado: se sangrará automáticamente y luego el código pegado incluirá sangría.
def my_print(message):
print(message)
print('done...')
Para solucionar este problema, utilice los comandos :set paste
y:set nopaste