En nuestro post anterior (¿Cómo ingreso texto y guardo cambios con vim?) nos iniciamos en el uso de este versátil editor de texto. Entre otras cosas, utilizamos el modo inserción para ingresar texto en un archivo. Sin lugar a dudas, las operaciones de copiar y pegar con vim no podían quedarse afuera. Por eso, en este post nos dedicaremos a explicar cómo utilizarlas. Además, veremos cómo cortar porciones de contenido de una parte a otra de un archivo, y también mostraremos la manera de deshacer cambios recientes.
Copiar y pegar con vim
Entre las tareas que mencionamos hace instantes, veamos las siguientes variantes:
- Para cortar o copiar una línea del archivo debemos mover el cursor hasta cualquier posición de la línea en cuestión y presionar dos veces la tecla d (dd) o y (yy), respectivamente. Para pegarla, nos desplazaremos hasta la línea deseada y presionaremos la tecla p. A continuación, veremos que la(s) línea(s) copiada(s) se insertará(n) inmediatamente debajo de la posición actual del cursor.
- Para cortar o copiar más de una línea, debemos anteponer el número de líneas deseado a dd o yy. El procedimiento para pegar el contenido es igual al que describimos en el punto anterior. Por ejemplo, para copiar la línea actual y las cuatro siguientes (cinco en total) debemos presionar 5yy.
- Si deseamos cortar o copiar desde una posición dada dentro de una línea hasta el final de la misma, podemos utilizar la combinación de teclas d$ (la tecla d seguida por el signo peso) o y$, respectivamente. Para pegar el contenido, nos desplazamos hasta la posición deseada y presionaremos la tecla p.
- Para deshacer los cambios realizados, utilizamos la combinación de teclas Esc + u (presionar Esc, luego u).
Como podemos ver, copiar y pegar con vim es sumamente fácil, ya sea que se trate de líneas enteras o porciones de las mismas. Y si nos equivocamos, siempre podemos volver hacia atrás.
Espero que este post les haya resultado útil. En el próximo hablaremos sobre otras herramientas útiles del modo comando en vim.
¡Nos leemos en breve!