Qué es vi y cómo editar archivos con él

Autor: Publicado

En resumen: vi es un editor de texto que funciona en el terminal y se utiliza principalmente en sistemas Unix y Linux. Se maneja mediante comandos de teclado, y la función de las teclas depende del modo seleccionado. Para empezar a escribir, pulsa i; para guardar el archivo y salir, pulsa Esc, escribe :wq y confirma con Enter. Si quieres salir sin guardar los cambios, pulsa Esc y después escribe :q! y pulsa Enter.

¿Para qué sirve vi?

vi sirve para editar archivos de texto plano: configuraciones de programas, scripts, código fuente o notas. No es un procesador de textos como Word: no sirve para elegir tipos de letra, ajustar el diseño de las páginas ni insertar ilustraciones. Trabaja con el contenido del archivo, sin añadir formato al documento.

Resulta especialmente útil al trabajar en un servidor mediante SSH, una conexión cifrada con otro ordenador. Si solo tienes acceso al terminal, puedes modificar un archivo sin abrir un escritorio gráfico ni descargarlo en tu ordenador.

El editor vi, o una alternativa compatible, está disponible en muchos entornos Unix. Sin embargo, no debes dar por hecho que lo encontrarás en todas las instalaciones: una imagen mínima de un sistema o de un contenedor puede no incluir ningún editor.

¿Por qué vi tiene distintos modos de funcionamiento?

En un editor típico, pulsar una letra la añade inmediatamente al texto. En vi, al abrir un archivo normalmente estás en el modo normal, también llamado modo de comandos. En este modo, las letras sirven para desplazarte por el archivo, borrar texto o realizar otras operaciones.

Para empezar, basta con distinguir estas tres formas de trabajar:

Esta distinción explica una sorpresa habitual entre principiantes: pulsan letras, pero, en lugar de escribir, mueven el cursor o modifican el texto existente. Si no sabes en qué modo estás, pulsa Esc. Después, elige la siguiente acción.

Primera edición de un archivo paso a paso

Lo más seguro es practicar con un archivo nuevo, no con la configuración de un servicio en funcionamiento. Ejecuta lo siguiente en el terminal:

vi nota.txt

Si el archivo existe, el editor abrirá su contenido. Si no existe, preparará un documento nuevo en la memoria; el archivo solo se creará en el disco cuando se guarde correctamente.

  1. Pulsa i para entrar en el modo de inserción.
  2. Escribe una frase, por ejemplo: Esta es mi primera nota.
  3. Pulsa Esc para dejar de introducir texto.
  4. Escribe :wq y pulsa Enter.

Tras guardar el archivo y cerrar el editor, volverás al intérprete de comandos, el programa que recibe las órdenes en el terminal. Puedes ejecutar de nuevo vi nota.txt para comprobar el contenido.

Si quieres guardar tu trabajo y seguir editando, usa :w. El comando :q cierra el editor siempre que no haya cambios sin guardar que requieran una decisión. El comando :q! descarta los cambios sin guardar; no elimina del disco el archivo existente.

Comandos básicos que facilitan el trabajo

Ejecuta los siguientes comandos en el modo normal. Los dos puntos y la barra inclinada permiten empezar a escribir un comando que debes confirmar con Enter; los demás atajos funcionan sin esa confirmación.

ComandoAcción
h, j, k, lMoverse a la izquierda, abajo, arriba y a la derecha, respectivamente
0Ir al principio de la línea
$Ir al final de la línea
xEliminar el carácter situado bajo el cursor
ddEliminar la línea actual
uDeshacer el último cambio
/texto buscadoBuscar texto hacia el final del archivo
nRepetir la búsqueda en la misma dirección
:25Ir a la línea número 25

Por ejemplo, para encontrar el ajuste timeout, pulsa Esc, escribe /timeout y confirma con Enter. La tecla n permite pasar a la siguiente coincidencia. Es más cómodo que revisar manualmente una configuración larga.

¿Son vi y Vim el mismo programa?

No. Vim, cuyo nombre corresponde a Vi IMproved («vi mejorado»), es un editor distinto que amplía la forma de trabajar de vi. Ofrece funciones adicionales, como un resaltado de sintaxis más avanzado, complementos y la posibilidad de deshacer varios cambios sucesivos.

En algunos sistemas, el comando vi abre Vim u otro editor compatible. Por eso, el aspecto de la pantalla y las extensiones disponibles pueden variar. Los comandos básicos descritos forman parte de su manera común de trabajar, pero no todas las guías de Vim serán totalmente aplicables al vi clásico.

Antes de editar una configuración importante, haz una copia. Si al guardar aparece un error de permisos, añadir ! no te dará permisos sobre el archivo. Empieza practicando con una nota propia y, tras modificar una configuración, compruébala con la herramienta de validación del servicio correspondiente, si dispone de una.

Consulta también: ¿Qué es GitLab?

Lee también

Descubre cómo PHP-FPM atiende peticiones PHP, en qué se diferencia de un servidor web y cómo ajustar sus procesos al tráfico y los recursos.
Conoce BIND, el software abierto de servidor DNS: sus funciones, cómo gestiona dominios y cuándo conviene instalarlo por tu cuenta.
Descubre qué son el registro REGON de Polonia y su número, en qué se diferencian de NIP y KRS y cómo verificar los datos de una empresa.