Qué es vi y cómo editar archivos con él
Autor: Redacción Domeny.ForSale 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:
- Modo normal: introduces comandos; por ejemplo,
ddelimina la línea actual. Puedes volver a este modo con la teclaEsc. - Modo de inserción: escribes contenido. Desde el modo normal, accedes a él con la tecla
i, que inicia la inserción antes del cursor. - Línea de comandos: después de pulsar
:en el modo normal, escribes un comando, como:wpara guardar el archivo. Lo ejecutas con Enter.
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.
- Pulsa
ipara entrar en el modo de inserción. - Escribe una frase, por ejemplo:
Esta es mi primera nota. - Pulsa
Escpara dejar de introducir texto. - Escribe
:wqy 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.
| Comando | Acción |
|---|---|
h, j, k, l | Moverse a la izquierda, abajo, arriba y a la derecha, respectivamente |
0 | Ir al principio de la línea |
$ | Ir al final de la línea |
x | Eliminar el carácter situado bajo el cursor |
dd | Eliminar la línea actual |
u | Deshacer el último cambio |
/texto buscado | Buscar texto hacia el final del archivo |
n | Repetir la búsqueda en la misma dirección |
:25 | Ir 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?
