En el post anterior («Aprendiendo a usar el editor de texto vi en Linux«) aprendimos a iniciar el editor vi y cómo pasar del modo comando al de edición (y viceversa). En esta ocasión aprenderemos a utilizar algunas herramientas útiles del modo comando.
Cortar o copiar y pegar
Editor vi: seguramente una de las tareas más habituales al editar textos consiste en cortar o copiar y pegar texto. 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. Esto hará que la línea copiada se inserte debajo de la posición anterior del cursor.
- Para cortar o copiar desde la posición actual del cursor hasta el final de la línea actual, presionamos 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 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 idéntico al descripto anteriormente. Por ejemplo, para copiar la línea actual y las dos siguientes (tres en total) debemos presionar 3yy.
Para deshacer los cambios realizados, utilizamos la combinación de teclas Esc + u (presionar Esc, luego u).
Desplazarse a una línea específica en el editor vi
Si queremos pegar el contenido copiado o cortado a una línea distante de la actual, nos conviene «saltar» a la misma directamente en vez de desplazarnos mediante las flechas del teclado (lo cual puede resultar lento y tedioso). Para lograrlo, utilizamos la combinación de teclas :n (donde n es la línea de destino) y luego presionar Enter. En otras palabras, presionando :350 y luego Enter nos llevará a la línea 350 del archivo.
Si no conociéramos el número de línea en el editor vi pero sí supiéramos una palabra que contiene la misma, presionando /term (donde term es la palabra a buscar) y luego Enter, nos moveremos a la primera línea que contenga el término de búsqueda (a partir de la posición actual del cursor). Para buscar las siguientes ocurrencias de term y desplazarnos hasta las líneas que las contengan, utilizaremos la letra n del teclado, mientras que para volver hacia atrás usaremos N (mayúscula).
Insertar el resultado de un comando de otro archivo dentro del actual en el editor vi
Para insertar el resultado de un comando en el archivo actual, presionaremos :r! seguido por el comando a ejecutar. Por ejemplo:
[pastacode lang=»markup» manual=»r%3A!%20date» message=»» highlight=»» provider=»manual»/]
insertará el mensaje sáb jul 2 21:43:33 ART 2016 (o la fecha que correspondiera) en la posición actual del cursor.
Por otra parte, si lo que quisiéramos hacer es insertar el contenido de otro archivo, usaremos :r seguido por la ruta del archivo. Por ejemplo,
[pastacode lang=»bash» manual=»r%3A%20%2Fetc%2Fpasswd» message=»» highlight=»» provider=»manual»/]
insertará el archivo /etc/passwd dentro del actual, a partir de la posición actual del cursor. Los dos ejemplos anteriores se muestran en la Fig. 1:
Herramientas útiles en el editor vi
Con la ayuda de este post y del anterior ya disponemos de los conocimientos necesarios para editar archivos utilizando vi. Para profundizar nuestros conocimientos, podemos realizar los tutoriales online Interactive Vim Tutorial o Vim adventures. ¡Espero que les sea útil!
Un comentario en «Editor vi – Aprender Linux desde Cero»
Muy buen material, muchas gracias