Tutorial Linux – 6. Editor de texto Vi

Introducción

Domina el editor de texto Vi y aprende a hacer ediciones complejas en tus archivos con menos tiempo y esfuerzo.

En la última sección creamos unos cuantos archivos pero en blanco. Un poco aburrido pero hay que empezar por algún lado. En esta sección veremos una herramienta para poner contenido en los archivos y editar ese contenido también. Vi es un editor de texto que probablemente es muy diferente a cualquier editor que hayas usado antes. Te llevará un tiempo hacerte a la idea, pero una vez que lo hagas te darás cuenta de que es bastante potente. Es como teclear al tacto, al principio el aprendizaje es incómodo y te preguntas por qué te molestas, pero una vez que le coges el tranquillo no querrás volver atrás.

Incluso si no usas Vi todo el tiempo, definitivamente encontrarás que los patrones de trabajo que desarrollas al aprender el editor pueden ser transferidos fácilmente a otros programas y con gran efecto.

Esta sección y las siguientes en realidad están formando la base para las últimas secciones donde pondremos todo junto y empezaremos a hacer algunas cosas realmente divertidas. He elegido ver primero el Vi para que tu mente tenga un poco de tiempo para procesarlo y darle sentido en preparación para más tarde cuando lo necesitemos.

Vi es una herramienta muy poderosa. En esta sección mi objetivo no es cubrir todo lo que Vi puede hacer, sino ponerte en marcha con lo básico. Al final de la sección voy a proporcionar algunos enlaces a los recursos donde se puede aprender Vi más. Te recomiendo encarecidamente que mires algunos de ellos.

Un editor de línea de comandos

Vi es un editor de texto de línea de comandos. Como ya sabrás, la línea de comandos es un entorno bastante diferente a su GUI. Es una sola ventana con entrada y salida de texto solamente. Vi ha sido diseñado para trabajar dentro de estas limitaciones y muchos dirían que es bastante poderoso como resultado. Vi está pensado como un editor de texto plano (similar al Bloc de notas en Windows, o Textedit en Mac) en contraposición a una suite de procesamiento de textos como Word o Pages. Sin embargo, tiene mucho más poder en comparación con el Bloc de notas o Textedit.

Como resultado usted tiene que deshacerse del ratón. Todo en Vi se hace a través del teclado.

Hay dos modos en Vi. El modo de inserción (o de entrada) y el modo de edición. En el modo de entrada se puede introducir el contenido en el archivo. En el modo de edición puedes moverte por el archivo, realizar acciones como borrar, copiar, buscar y reemplazar, guardar, etc. Un error común es empezar a introducir comandos sin pasar primero al modo de edición o empezar a escribir contenidos sin pasar primero al modo de inserción. Si usted hace cualquiera de estos generalmente es fácil de recuperar por lo que no se preocupe demasiado.

Cuando ejecutamos vi normalmente lo hacemos con un solo argumento de línea de comandos que es el archivo que le gustaría editar.

vi <archivo>

Si usted se olvida de especificar un archivo entonces hay una manera de abrir un archivo dentro de vi, pero lo más fácil es simplemente salir de vi y tener otro intento. También recuerda que cuando especificamos el archivo puede ser con una ruta absoluta o relativa.

Vamos a sumergirnos y empezar. Va a ser difícil para mí demostrar mucho de esto, así que en su lugar voy a enumerar lo que quiero que escriba y usted tendrá que darle una oportunidad y ver lo que sucede.

En primer lugar vamos a ir a su directorio que creó en la sección de manipulación de archivos. Vamos a crear algunos archivos y esto los mantendrá fuera del camino de tus cosas normales.

Ahora editaremos nuestro primer archivo.

  1. vi firstfile

Cuando ejecutas este comando se abre el archivo. Si el archivo no existe, lo creará y lo abrirá. (no hay necesidad de tocar los archivos antes de editarlos) Una vez que entras en vi se verá algo como esto (aunque dependiendo del sistema en el que estés puede parecer ligeramente diferente).

  1. ~
  2. ~
  3. ~
  4. ~
  5. ~
  6. «firstfile»

Siempre empiezas en modo edición así que lo primero que vamos a hacer es cambiar a modo inserción pulsando i. Puedes saber cuando estás en modo inserción ya que la esquina inferior izquierda te lo indicará.

  1. ~
  2. ~
  3. ~
  4. ~
  5. — INSERTAR —

Ahora escribe unas líneas de texto y pulsa Esc que te llevará de nuevo al modo edición.

Guardar y salir

Hay varias maneras de hacer esto. Todas hacen esencialmente lo mismo, así que elija la forma que prefiera. Para todas ellas, asegúrate primero de que estás en modo de edición.

Si no estás seguro de si estás en modo de edición o no, puedes mirar en la esquina inferior izquierda. Mientras no diga INSERTAR estás bien. También puedes pulsar Esc para estar seguro. Si ya está en modo de edición, presionar Esc no hace nada, así que no hará ningún daño.

La mayoría de los comandos dentro de vi se ejecutan tan pronto como se presiona una secuencia de teclas. Cualquier comando que comience con dos puntos ( : ) requiere que pulse <enter> para completar el comando.

Guardar y salir del archivo que tiene abierto actualmente

Otras formas de ver archivos

vi nos permite editar archivos. Si quisiéramos, podríamos usarlo para ver archivos también, pero hay otros dos comandos que son un poco más convenientes para ese propósito. El primero es cat, que en realidad significa concatenar. Su propósito principal es unir archivos, pero en su forma más básica es útil sólo para ver archivos.

cat <file>

Si ejecuta el comando cat, dándole un único argumento de línea de comandos que es el archivo que acabamos de crear, verá su contenido mostrado en la pantalla, seguido por el prompt.

Si accidentalmente ejecuta cat sin darle un argumento de línea de comandos, notará que el cursor se mueve a la siguiente línea y luego no pasa nada. Debido a que no especificamos un archivo, cat en su lugar lee de algo llamado STDIN (del que aprenderemos en la sección ‘Piping y redirección’ que por defecto es el teclado. Si escribe algo y luego pulsa <enter> verá que cat refleja su entrada en la pantalla. Para salir de aquí puede pulsar <Ctrl> + c que es la señal universal para Cancelar en Linux.

De hecho, siempre que se meta en problemas puede pulsar generalmente <Ctrl> + c para salir de ellos.

  1. cat firstfile
  2. aquí verás
  3. cualquier contenido que
  4. hayas introducido en tu archivo

Este comando está bien cuando tenemos un archivo pequeño que ver pero si el archivo es grande entonces la mayor parte del contenido volará por la pantalla y sólo veremos la última página de contenido. Para archivos más grandes hay un comando más adecuado que es menos.

menos <archivo>

menos le permite moverse hacia arriba y hacia abajo dentro de un archivo utilizando las teclas de flecha. Puedes avanzar una página entera utilizando la barra espaciadora o retroceder una página pulsando b. Cuando hayas terminado puedes pulsar q para salir.

Echa un vistazo al archivo que acabas de crear ahora utilizando estos dos comandos.

Navegando por un archivo en Vi

Ahora volvamos al archivo que acabamos de crear e introduzcamos algo más de contenido. En el modo de inserción puedes utilizar las teclas de flecha para mover el cursor. Introduce dos párrafos más de contenido y luego pulsa Esc para volver al modo de edición.

A continuación encontrarás algunos de los muchos comandos que puedes introducir para moverte por el archivo. Juegue con ellos y vea cómo funcionan.

  • Teclas de flecha – mover el cursor alrededor
  • j, k, h, l – mover el cursor hacia abajo, hacia arriba, izquierda y derecha (similares a las teclas de flecha)
  • ^ (signo de intercalación) – mover el cursor al principio de la línea actual
  • $ – mover el cursor al final de la línea actual
  • nG – pasar a la enésima línea (por ejemplo, 5G pasa a la quinta línea)
  • G – pasar a la última línea
  • w – moverse al principio de la siguiente palabra
  • nw – avanzar n palabras (ej. 2w avanza dos palabras)
  • b – moverse al principio de la palabra anterior
  • nb – retroceder n palabras
  • { – retroceder un párrafo
  • } – avanzar un párrafo

Si escribes :set nu en modo de edición dentro de vi se activarán los números de línea. Me parece que activar los números de línea facilita mucho el trabajo con los archivos.

Borrar contenido

Acabamos de ver que si queremos movernos en vi hay bastantes opciones disponibles. Varias de ellas nos permiten además precederlas de un número para movernos ese número de veces. El borrado funciona de forma similar al movimiento, de hecho varios comandos de borrado nos permiten incorporar un comando de movimiento para definir lo que se va a borrar.

A continuación se muestran algunas de las muchas formas en las que podemos borrar contenido dentro de vi. Juega con ellas ahora. (también echa un vistazo a la sección de abajo sobre deshacer para que puedas deshacer tus borrados.)

  • x – borrar un solo carácter
  • nx – borrar n caracteres (por ejemplo 5x borra cinco caracteres)
  • dd – borrar la línea actual
  • dn – d seguido de un comando de movimiento. Borra hasta donde el comando de movimiento le hubiera llevado. (ej. d5w significa borrar 5 palabras)

Deshacer

Deshacer los cambios en vi es bastante fácil. Es el carácter u.

  • u – Deshacer la última acción (puedes seguir pulsando u para seguir deshaciendo)
  • U (Nota: mayúscula) – Deshacer todos los cambios en la línea actual

Avanzando

Ahora podemos insertar contenido en un archivo, movernos por el archivo, eliminar contenido y deshacerlo y luego guardar y salir. Ahora puede hacer la edición básica en vi. Esto es sólo tocar la superficie de lo que vi puede hacer sin embargo. No voy a entrar en todos los detalles aquí (creo que ya te he dado suficiente), pero te daré algunas cosas que puedes querer mirar para aumentar tu experiencia en vi. Una búsqueda básica en su motor de búsqueda de elección para vi <insertar concepto aquí> le encontrará muchas páginas con información útil. También hay muchas hojas de trucos de vi que enumeran todos los comandos disponibles.

  • copiar y pegar
  • buscar y reemplazar
  • buffers
  • marcadores
  • rangos
  • configuración

Diviértete y recuerda seguir con ello. El vi será doloroso al principio, pero con la práctica pronto se convertirá en su amigo.

Resumen

vi Editar un archivo. cat Ver un archivo. less Conveniente para ver archivos grandes.
Sin ratón vi es un editor de texto donde todo se hace con el teclado. Si usted puede escribir al tacto entonces esto es genial. Si no, entonces tal vez usted debe pensar en aprender. Comandos de edición Hay muchos de ellos. La práctica es la clave para recordar los más usados y útiles.

Actividades

Juguemos con algo de contenido.

  • Comienza creando un archivo y poniendo algo de contenido en él.
  • Guarda el archivo y visualízalo tanto en cat como en less
  • Vuelve a entrar en el archivo en vi e introduce algo más de contenido.
  • Muévete por el contenido utilizando al menos 6 comandos de movimiento diferentes.
  • Juega con varios de los comandos de borrado, especialmente los que incorporan un comando de movimiento. Recuerda que puedes deshacer los cambios para no tener que seguir poniendo nuevo contenido.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.