Funciones básicas de vim.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org

Licencia Creative Commons
© 1999-2026 Joel Barrios Dueñas. Este manual se distribuye bajo la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0). Usted es libre de compartir y adaptar el material bajo los siguientes términos: debe dar crédito al autor, no puede utilizarlo para fines comerciales y debe compartir las obras derivadas bajo la misma licencia. La licencia completa está disponible en https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.es.

Introducción

Vim es uno de los editores de texto más poderosos y veteranos que hay en el mundo de la informática y el equipamiento lógico libre. Dominar su funcionalidad básica facilita enormemente la edición de archivos de texto plano, principalmente archivos de configuración, constituyendo una habilidad esencial para cualquier administrador de sistemas.

Si bien su modelo modal de operación ―distinto al de los editores gráficos modernos― presenta una curva de aprendizaje elevada que puede resultar desafiante para usuarios novatos, la inversión en aprenderlo se traduce en una eficiencia y un control sobre el texto inigualables a largo plazo.

Procedimientos

El siguiente conjunto de procedimientos guía al usuario a través de las operaciones fundamentales de Vim, proporcionando una base sólida para su uso productivo.

Equipamiento lógico necesario

Por lo general, una versión básica de vi/vim se instala de modo predefinido en la mayoría de las distribuciones de GNU/Linux. Para obtener la experiencia completa con resaltado de sintaxis y todas las funcionalidades, es recomendable instalar la versión mejorada.

En ALDOS, AlmaLinux, Rocky Linux y Red Hat Enterprise Linux y sus derivados

Si realizó una instalación mínima, instale la versión completa de vim ejecutando:

dnf -y install vim-enhanced

Nota para usuarios de ALDOS: Puede utilizar el mandato yum en lugar de dnf.

Procedimientos previos

Los ejercicios a continuación se deben realizar como usuario regular. Cree un usuario sin privilegios para practicar:

useradd -m curso

Asigne una contraseña a este nuevo usuario:

passwd curso

Cambie a esta nueva identidad ejecutando:

su -l curso

Conociendo vim

Genere un nuevo documento ejecutando vim y utilizando como argumento holamundo.txt:

vim holamundo.txt

Lo anterior mostrará la interfaz inicial de vim:

+-----------------------------------------------------------+
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|"holamundo.txt" [Archivo nuevo]                 0,0-1  Todo|
+-----------------------------------------------------------+

Pulse una vez la tecla i (modo Insertar) y observe el cambio en la línea de estado:

+-----------------------------------------------------------+
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|-- INSERTAR --                                 0,1     Todo|
+-----------------------------------------------------------+

En la parte inferior aparece la palabra «INSERTAR». Esto significa que puede comenzar a insertar texto. Escriba la frase «Alcance Libre», pulse Enter y escriba de forma pro-positiva la frase «un vuen lugar donde comensar»:

+-----------------------------------------------------------+
|Alcance Libre                                              |
|un vuen lugar donde comensar                               |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|-- INSERTAR --                                 2,1     Todo|
+-----------------------------------------------------------+

Posicione el cursor (con las teclas de flecha) justo sobre la v de la palabra vuen y pulse la tecla R (Shift + r). Notará que ahora aparece el modo «REEMPLAZAR»:

+-----------------------------------------------------------+
|Alcance Libre                                              |
|un [v]uen lugar donde comensar                             |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|-- REEMPLAZAR --                               2,1     Todo|
+-----------------------------------------------------------+

Pulse la tecla b y observe cómo se reemplaza la letra para quedar la palabra corregida como buen. Mueva el cursor y repita el procedimiento reemplazando la s por una z en comensar para que quede comenzar:

+-----------------------------------------------------------+
|Alcance Libre                                              |
|un buen lugar donde empe[z]ar                              |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|-- REEMPLAZAR --                               2,24    Todo|
+-----------------------------------------------------------+

Pulse la tecla Esc para salir del modo Reemplazar. Inmediatamente pulse : (dos puntos) seguido de la letra w para guardar el archivo:

+-----------------------------------------------------------+
|Alcance Libre                                              |
|un buen lugar donde comenzar                               |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|:w                                                         |
+-----------------------------------------------------------+

Pulse Enter. Un mensaje confirmará que el archivo ha sido guardado. Vuelva a pulsar : y escriba saveas adiosmundo.txt y pulse Enter para guardar una copia con otro nombre.

Pulse i para regresar al modo Insertar y añada las siguientes líneas:

+-----------------------------------------------------------+
|Alcance Libre                                              |
|un buen lugar donde comenzar                               |
|Creo que el mundo es un lugar muy malo                     |
|La gente que conozco es mala                               |
|Mi vida ha sido muy mal[a]                                 |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|-- INSERTAR --                                 5,24    Todo|
+-----------------------------------------------------------+

Pulse Esc y luego :%s/mal/buen/g. Este mandato reemplazará la cadena mal por buen en todo el archivo (%), de forma global (g):

+-----------------------------------------------------------+
|Alcance Libre                                              |
|un buen lugar donde comenzar                               |
|Creo que el mundo es un lugar muy malo                     |
|La gente que conozco es mala                               |
|Mi vida ha sido muy mala                                   |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|:%s/mal/buen/g                                             |
+-----------------------------------------------------------+

Pulse Enter. Observe cómo se realizó la sustitución en todo el texto:

+-----------------------------------------------------------+
|Alcance Libre                                              |
|un buen lugar donde comenzar                               |
|Creo que el mundo es un lugar muy *buen*o                  |
|La gente que conozco es *buen*a                            |
|Mi vida ha sido muy *buen*a                                |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|3 sustituciones en 3 líneas                    5,1     Todo|
+-----------------------------------------------------------+

Copiar, cortar y pegar

Posicione el cursor en la primera línea. Para copiar una línea, pulse yy. Para pegarla debajo, pulse p.

Para cortar (eliminar) una línea, pulse dd. La línea desaparece. Puede recuperarla pegándola en otro lugar con p.

Para cortar tres líneas a partir de la posición del cursor, pulse 3dd. Para pegar ese bloque de texto múltiples veces, pulse p las veces necesarias.

Búsqueda y resaltado

Nota: El resaltado de búsquedas requiere vim-enhanced. Con vim-minimal esta función está ausente.

Con el archivo abierto, pulse /buen y Enter para buscar esa cadena. Vim resaltará todas las coincidencias:

+-----------------------------------------------------------+
|Alcance Libre                                              |
|un *[b]uen* lugar donde comenzar                           |
|Creo que el mundo es un lugar muy *buen*o                  |
|Creo que el mundo es un lugar muy *buen*o                  |
|La gente que conozco es *buen*a                            |
|Mi vida ha sido muy *buen*a                                |
|La gente que conozco es *buen*a                            |
|Mi vida ha sido muy *buen*a                                |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|~                                                          |
|/buen                                                      |
+-----------------------------------------------------------+

Para cancelar el resaltado de los resultados, pulse :nohl y Enter.

Movimientos y edición eficiente

Finalmente, para salir guardando todos los cambios, pulse :x y Enter.

Una vez terminado el ejercicio, salga de la sesión del usuario de práctica:

exit

Resumen de mandatos esenciales de vim

La siguiente tabla recopila los mandatos más útiles para comenzar a utilizar vim con soltura.

Mandato Acción Notas
i Modo Insertar antes del cursor. La tecla Insert también funciona.
a Modo Insertar después del cursor. "Append".
I Modo Insertar al inicio de la línea. Shift + i.
A Modo Insertar al final de la línea. Shift + a.
o Abre línea nueva debajo e inserta.
R Activa el modo Reemplazar. Shift + r. Sobrescribe texto.
Esc Sale del modo actual (Insertar/Reemplazar). Vuelve al modo Normal.
x Elimina el carácter bajo el cursor.
dd Corta la línea actual. También la elimina.
yy Copia ("yank") la línea actual.
p Pega después del cursor.
/texto Busca hacia adelante. Usar n para siguiente coincidencia.
:w Guarda el archivo. "Write".
:q Sale de vim. Falla si hay cambios sin guardar.
:q! Sale descartando cambios. Fuerza la salida.
:wq o :x Guarda y sale.
:u Deshace el último cambio.
dG Borra hasta el final del archivo. d (delete) + G (ir al final).
:nohl Desactiva el resaltado de búsqueda. "No highlight".

Más allá de las funciones básicas

Este manual cubre sólo las operaciones fundamentales. Para dominar vim se recomienda encarecidamente utilizar la herramienta oficial de aprendizaje de vim. Ejecute el siguiente mandato en su terminal:

vimtutor

Este tutor interactivo, incluido en el paquete vim-enhanced, lo guiará a través de lecciones prácticas que cubren muchas más funcionalidades poderosas del editor, constituyendo el siguiente paso natural en el aprendizaje.