Vim y cómo pegar texto en una posición dentro de un archivo
En este breve artículo aprenderemos a pegar texto, el contenido de un portapapeles de Vim, bajo una línea particular dentro de un archivo.
Este artículo surge a partir de una interesante consulta de un alumno del curso online de Vim, así que intentaré responderla lo más claro posible en este artículo 🙂
Antes de pegar texto hay que copiar
Para pegar un determinado contenido de un archivo en una línea específica, previamente habrá que haberlo copiado.
Si editamos el archivo /etc/fstab
, cuyo contenido (en mi caso particular) es el siguiente:
Supongamos que queremos pegar el contenido de las líneas 1-5 luego de la línea 12, podríamos copiarlas de varias maneras. Aquí algunos ejemplos:
- Posicionarse en la línea 1 y presionar, en modo comando,
5yy
o5Y
- Moverse a la línea 1, activar el modo visual de línea con
Shift+V
, seleccionar hasta la línea 5 y presionary
. - Desde cualquier parte del archivo, ejecutar el comando Ex:
:1,5y
Lo anterior representa 3 forma comunes de copiar al portapapeles predeterminado. Podría, no obstante, copiarse a un portapapeles particular, por ejemplo, el portapapeles t
, de esta forma:
- Posicionarse en la línea 1 y presionar, en modo comando,
"t5yy
o"t5Y
- Moverse a la línea 1, activar el modo visual de línea con
Shift+V
, seleccionar hasta la línea 5 y presionar"ty
. - Desde cualquier parte del archivo, ejecutar el comando Ex:
:1,5y t
En cualquier caso se tendrá el contenido en un portapapeles del Vim, ya sea el predeterminado, o uno con nombre, particularmente el t en este ejemplo.
Pegando el bloque
Una vez copiado el texto, podremos pegarlo luego de la línea 12 con el siguiente comando Ex:
:12pu
o en su defecto:
:12put
Eso pegará el contenido del portapapeles predeterminado debajo de la línea 12 en el archivo de texto.
Para pegar el contenido del portapapeles t del ejemplo anterior, podría usarse este comando Ex:
:12pu t
O
:12put t
Resumiendo…
«Una imagen vale más que mil palabras«… y un gif aún más 🙂
Acá un ejemplo, siempre usando comandos Ex, de copia y pega con el portapapeles predeterminado de vim:
Y siguiendo con comandos Ex, ahora usando un portapapeles con nombre, "t
en el ejemplo:
Sin más, espero que les sirva! Nunca está de mas un truquito nuevo de mi editor favorito 😀
Cualquier duda me lo dejan por comentarios, y como siempre, si quieren sumarse a charlar sobre Vim, GNU/Linux, programación, redes y seguridad informática, demás, quedan invitados al grupo de Telegram de Juncotic!
Y no se olviden de pasarse por la página de cursos donde van a encontrar siempre mis cursos en promoción o/
Será hasta la próxima!!