Imagina que estás hasta las rodillas en tu sistema Linux, intentando desesperadamente editar un archivo, y cada intento se siente como descifrar un código antiguo. Si cuanto más haces clic, más perdido te sientes, ¿por qué no recurrir a Vim para Linux?
En este tutorial, descubrirás los secretos de Vim, un editor de texto ampliamente aclamado, que te transformará de un vagabundo de Linux en un virtuoso de la línea de comandos.
¡Coge tu espada metafórica (también conocida como tu teclado) y adéntrate en el mundo de Vim!
Prerrequisitos
A continuación, hay algunos prerrequisitos para preparar el escenario para dominar Vim en tu sistema Linux:
- A Linux OS – This tutorial uses an Ubuntu 22.04 LTS.
- Vim instalado en tu máquina – consulta la documentación oficial sobre cómo instalar Vim.
Crear y Editar Archivos con Vim para Linux
Vim opera en diferentes modos, cada uno ofreciendo capacidades de edición únicas. Pero antes de pasar a esos modos, primero necesitas aprender cómo crear y editar archivos con Vim en Linux.
Para crear y editar un archivo con Vim, sigue estos pasos:
1. Abre una terminal y ejecuta el siguiente comando vim
para crear un archivo llamado sshd_config
(arbitrario) con Vim. Este comando crea automáticamente el archivo si no existe. De lo contrario, el archivo existente se abre en Vim.
La interfaz de Vim se verá como la que se muestra a continuación si has creado un archivo nuevo, lo que indica que Vim está actualmente en modo de comando. El modo de comando es uno de los modos principales en los que interactúas con el texto en el editor Vim.

2. A continuación, copia el texto a continuación en tu portapapeles, que contiene configuraciones de servidor SSH de muestra solo con fines de demostración y no refleja configuraciones reales del servidor.
3. En Vim, presiona i
, el comando para entrar en el modo de inserción. El modo de inserción también es uno de los modos principales en Vim, que te permite escribir y modificar el contenido de tu documento.
Una vez que ingreses al modo de inserción, verás que la línea de estado muestra — INSERTAR — como se muestra a continuación.

4. Ahora, presiona Ctrl+Shift+V o Shift+Insertar para pegar el texto que copiaste en el paso dos en el editor Vim, y presiona Esc para salir del modo de inserción (cambia al modo de comando).
Observa que el estado — INSERTAR — desaparece, lo que indica que has vuelto al modo de comando.

5. Por último, escribe el comando :w
y presiona Enter para guardar los cambios en el archivo sin cerrar el editor.
Cuando sea necesario, puedes ejecutar los otros comandos a continuación:
Command | Details |
---|---|
:q! |
Quit the editor without saving the changes. |
:w! |
Write the current file changes forcefully. |
:wq |
Save the changes and quit the editor (or :wq! to save and quit forcefully). |
e! |
Revert to the last saved version of the file. |

El estado de la línea muestra el tamaño de datos escritos en el archivo, que en este caso son 23 líneas (23L) y 624 bytes (624B).

Navegando por textos en Vim
Después de dominar el arte de crear y editar archivos con Vim, te sumergirás en una habilidad crucial que elevará tu destreza en la edición de texto: la navegación en Vim. La navegación efectiva es la clave para desbloquear el potencial de Vim, como explorar un vasto paisaje.
Para aprender cómo navegar por textos en Vim, sigue estos pasos:
1. Ahora, escribe el comando :set nu
y presiona Enter para activar la numeración de líneas en Vim. La numeración de líneas es una característica crucial del editor al tratar con código o documentos extensos.
Si tienes éxito, verás los números de línea en el editor, como se muestra a continuación.

2. Luego, cambia al modo de comando (Esc
) y presiona el comando gg
para ir al principio del archivo.

3. A continuación, presiona cualquiera de los siguientes comandos hasta llegar al principio del parámetro MaxSessions, y presiona $
para mover el cursor al final de la línea.
Command | Details |
---|---|
h |
Move the cursor to the left or the previous character. |
j |
Move the cursor one line down. |
k |
Move the cursor one line up. |
l |
Move the cursor to the right or the next character. |

4. Ahora, reemplaza un texto con lo siguiente:
- Pulsa
i
para cambiar al modo de inserción. - Elimina el valor (Retroceso o Suprimir), que es 10, y reemplázalo con 25.
- Cambia al modo de comando (
Esc
) y guarda los cambios (:w
).

Insertar textos en puntos específicos
Vim ofrece una variedad de comandos que permiten un control preciso sobre dónde y cómo insertar nuevos textos (exactamente donde los necesitas). Esta función funciona ya sea que desees insertar al principio de una línea, justo después de la posición actual del cursor o al final de una línea.
Para ver cómo funcionan las inserciones de texto en puntos específicos, realiza lo siguiente:
1. Presiona I
(Shift+I) mientras el cursor está al final de la línea para entrar en el modo de inserción y simultáneamente coloca el cursor al principio de la línea.

2. Cambia al modo de comando (Esc
), mueve el cursor a cualquier otro carácter en la línea actual de texto (es decir, al principio) y presiona el comando a
.
Este comando cambia Vim al modo de inserción y coloca el cursor en el siguiente carácter desde su posición anterior. Este comportamiento es útil para agregar rápidamente texto en el medio de una línea sin perturbar el texto existente.

3. Inserta ‘y’ para escribir la clave MaxSession como MyaxSession, como se muestra a continuación, y vuelve al modo de comando (Esc
).
Notarás que el nuevo carácter ‘y’ aparece inmediatamente después del primero.

4. Ahora, modifica la línea de texto de la siguiente manera:
- Pulsa Shift+A para ejecutar el comando
A
, que permite a Vim entrar en el modo de inserción y mover el cursor al final de la línea. Este comportamiento es ideal para agregar rápidamente contenido como un punto y coma o para finalizar una oración. - Agrega 0 al final de la línea, lo que cambia el valor a 250.
- Regresa al modo de comando (`Esc`) y guarda los cambios (`:w`).

Apertura de Nuevas Líneas
Ahora que has dominado la colocación estratégica de texto dentro de tus archivos Vim, es hora de explorar una habilidad que mantendrá tu contenido bien estructurado y organizado. La capacidad de abrir nuevas líneas en Vim es tu boleto hacia un texto más legible y estéticamente agradable.
Para abrir nuevas líneas, arriba o abajo, completa los siguientes pasos:
1. Mientras estés en el modo de comando, presiona `o` para abrir una nueva línea debajo de la línea actual de texto y añade el siguiente comentario sobre las sesiones máximas.

2. Cambia al modo de comando (`Esc`), coloca el cursor en otra línea de texto y presiona `O` (Mayús+O) para añadir una nueva línea encima de la línea actual de texto.

3. Ahora, añade el siguiente comando al archivo y guarda los cambios (`:w`).

Eliminación de Palabras y Líneas de Texto
Vim proporciona comandos eficientes para eliminar y reemplazar texto más allá de las teclas básicas de Borrar o Retroceso. Estos comandos son accesibles desde el modo de comando, lo que te permite hacer modificaciones y correcciones rápidamente, permitiéndote eliminar o reemplazar caracteres, palabras o líneas enteras.
Para eliminar y reemplazar textos en Vim para Linux, ejecuta lo siguiente:
1. Mueve tu cursor al parámetro MyaxSessions, específicamente al carácter ‘y‘.

2. Luego, presiona x
para eliminar instantáneamente el carácter bajo el cursor, que, en este caso, es ‘y‘.
El parámetro vuelve a su texto original como MaxSessions, como se muestra a continuación.

3. Mueve tu cursor a la línea PermitRootLogin no:.

4. Ahora, presiona "_dd
para eliminar toda la línea de texto, independientemente de la posición del cursor.
La parte "_
en el comando especifica el registro de agujero negro, que descarta el texto eliminado (no se almacenará en ningún registro).
Vim tiene su propio conjunto de registros donde puedes almacenar textos, y no especificar el registro de agujero negro hace que el comando corte el texto en lugar de eliminarlo.
Si tienes éxito, notarás que la línea PermitRootLogin no: ha desaparecido.

5. Mientras estás en modo comando, coloca tu cursor al principio de la palabra Specifies en la línea # Specifies whether root can log in using ssh.

6. Por último, ejecuta el comando "_dw
, que elimina la palabra Specifies, como se muestra a continuación:

Opcionalmente, puedes optar por los siguientes comandos para operaciones adicionales de eliminación:
Command | Details |
---|---|
"_d$ |
Delete texts from the cursor position to the end of the line. |
"_D |
Deletes from the cursor position to the end of the line. |
"_d^ |
Deletes from the cursor position to the first non-whitespace character of the line |
"_dgg |
Deletes from the cursor position to the beginning of the file. |
"_dG |
Deletes from the cursor position to the end of the file. |
Reemplazando Caracteres y Líneas de Texto
Desde las eliminaciones estratégicas en Vim, dirige tu atención al otro lado de la moneda: reemplazar caracteres y líneas de texto. Reemplazar es la pincelada que te permite refinar y redefinir tu texto con precisión. La buena noticia es que Vim te permite realizar reemplazos de caracteres únicos o líneas enteras de texto.
Para reemplazar caracteres y líneas de texto, continúa con estas tareas:
1. Posiciona tu cursor en la línea AuthorizedKeysFile .ssh/authorized_keys, específicamente en el carácter ‘z’ en authorized, como se muestra a continuación:

2. Una vez posicionado, presiona r
, lo que le indica a Vim que estás a punto de reemplazar el carácter bajo el cursor e introduce el carácter ‘s’. El comando r
te permite reemplazar un carácter sin entrar primero en el modo de inserción (i
).
Observa que el carácter ‘z’ en authorized ha sido reemplazado por el carácter ‘s’, cambiando la palabra a authorised.

3. A continuación, coloca tu cursor en el carácter ’z‘ en AuthorizeKeysFile.

4. Presiona R
(Mayúscula+R) para ingresar al modo de reemplazo, escribe ‘s’ para reemplazar el carácter, pero no salgas del modo de reemplazo aún.
A diferencia del comando r
, que solo te permite reemplazar un carácter, el comando R
te permite sobrescribir textos existentes a medida que escribes continuamente.

5. En última instancia, copia el siguiente texto al portapapeles, mueve tu cursor al principio del archivo y pega el texto que copiaste (Ctrl+Shift+V o Shift+Insert).
Dado que aún estás en modo de reemplazo, al pegar el texto se reemplaza la primera línea en el archivo.

Búsqueda de Textos Dentro de un Archivo
Al estar involucrado en rehacer o deshacer acciones, la habilidad para buscar textos dentro de un archivo resulta útil. Vim te permite buscar palabras específicas, frases o patrones en tu archivo.
Imagina el gran impulso en productividad cuando puedes localizar y manipular rápidamente secciones de texto específicas sin desplazarte sin rumbo.
Para buscar textos dentro de un archivo, sigue estos pasos:
1. Mueve tu cursor al principio del archivo (comando gg
), presiona /
(barra inclinada hacia adelante) para iniciar el modo de búsqueda, escribe el término de búsqueda log y presiona Enter.
Este comando busca el término que especificaste (log), moviendo el cursor hacia adelante hasta la siguiente ocurrencia del término.

2. Luego, presiona n
para moverte a la siguiente ocurrencia del término.

3. Ahora, presiona N
(mayúscula + N) para regresar a la ocurrencia anterior.

Además, Vim ofrece otros atajos de búsqueda como los siguientes para más flexibilidad en la búsqueda:
Command | Details |
---|---|
? |
Initiates a reverse search of a term. |
* |
Performs a forward search for the word under the cursor. Continue pressing * to cycle through further occurrences of the word until it loops back to the first instance. |
# |
Performs a backward search for the word under the cursor. Continuously pressing # works similarly to the * command but cycles until it loops back to the last instance. |
Combinando Búsqueda con Otros Comandos en Vim
Mientras navegas por los intrincados paisajes de Vim, ¿por qué no añadir otra capa a tu dominio de edición de texto — combinando la búsqueda con otros comandos?
Vim te permite realizar acciones desde reemplazar ocurrencias específicas hasta eliminar líneas que coinciden con un patrón.
Para presenciar la sinergia entre la búsqueda y la acción en Vim, ejecuta lo siguiente:
1. Mientras estés en el modo de comandos, coloca el cursor en el punto de inicio desde donde deseas comenzar la eliminación (es decir, la primera ocurrencia del término de búsqueda log).

2. A continuación, escribe d/log
y presiona Enter para eliminar todo desde la posición del cursor hasta la siguiente ocurrencia del término log, como se muestra a continuación.

3. Deshaz la acción anterior (comando u
) y coloca el cursor en la primera instancia del término de búsqueda log.

4. Ahora, ejecuta el siguiente comando para buscar y reemplazar textos dentro de un rango específico, donde:
:.
– Entra al modo de comandos (:
) en la línea actual (.
).,$
– Especifica el rango para la sustitución.s/log/logs/g
– Substitute all occurrences of the old word (log
) with new (logs
) globally (g
) within the specified range.

Seleccionar textos mientras estás en el modo visual en Vim
Además de combinar el arte de la búsqueda con otros comandos en Vim, debes descubrir una función que transforma tu experiencia de edición de texto. El modo visual de Vim te permite manipular el texto de manera más interactiva y visual. El modo visual proporciona un método flexible y eficiente para resaltar y operar en porciones de tu texto.
Para seleccionar y editar texto, puedes optar por seleccionar y editar caracteres individuales o seleccionar y editar bloques de texto, de la siguiente manera:
1. Mueve tu cursor al principio del archivo (comando gg
) y presiona v
para activar el modo visual, como se muestra a continuación.

2. Presiona $
para mover tu cursor al final de la línea. Dado que estás en el modo visual, el comando resalta la línea de texto.

3. Ahora, realiza una acción de copiar y pegar de la siguiente manera:
- Pulsa
y
para copiar el texto resaltado al registro de Vim. - Pulsa
G$
para mover el cursor al final de la última línea en el archivo. - Pulsa
p
para pegar el texto que copiaste (específicamente después del cursor).
Ten en cuenta que el comandop
difiere de las teclas de acceso directo para pegar textos (Ctrl+Shift+V o Shift+Insert). Al copiar el texto con el comandoy
, el texto se almacena en el registro de Vim, y el comandop
pega el texto desde el registro.


4. Deshaz (u
) tu acción anterior, mueve el cursor al principio del archivo (gg
) y presiona V
(Ctrl+V) para ingresar al modo visual de línea.
A diferencia de seleccionar una sola línea en el modo visual, el modo visual de línea te permite seleccionar varias líneas de texto, como verás en el siguiente paso.

5. Utiliza tu tecla de flecha hacia abajo para seleccionar los caracteres desde el principio del archivo hasta la línea Protocolo 2.

6. Presiona d
para cortar las múltiples líneas de texto seleccionadas.

7. Finalmente, pega el texto que cortaste en el paso seis de la siguiente manera:
- Muévete a la última línea en el archivo (
G
) y crea una nueva línea debajo (o
). - Regresa al modo de comando (`Esc`), y pega el texto (`p`).

Conclusión
¡Felicidades! Has navegado por los intrincados reinos de Vim para Linux, desbloqueando un tesoro de sabiduría en edición de texto en el camino. Desde la creación y edición de archivos hasta dominar el arte del modo visual, has lucido como un virtuoso de Vim.
Pero tus aventuras en la línea de comandos apenas han comenzado. ¿Por qué no explorar características avanzadas como macros y plugins para adaptar Vim a tus necesidades?
Utiliza estas habilidades fundamentales para explorar aspectos más profundos de Vim, como la gestión de archivos, patrones de búsqueda complejos y scripts de Vim para personalización.