Características avanzadas de Vim
En este último paso, aprenderá algunas funciones avanzadas de Vim que pueden aumentar significativamente su productividad. Estas incluyen buscar, reemplazar texto y trabajar con múltiples archivos.
Búsqueda de texto
Para buscar texto en Vim:
- En modo normal, presione
/
- Escriba el término de búsqueda
- Presione
Enter para iniciar la búsqueda
- Presione
n para encontrar la siguiente coincidencia
- Presione
N para encontrar la coincidencia anterior
Creemos un archivo para practicar la búsqueda:
vim ~/project/search_example.txt
Ingrese al modo de inserción con i y escriba el siguiente texto:
Linux is a family of open-source Unix-like operating systems.
The Linux kernel was first released by Linus Torvalds.
Linux is widely used in servers, desktops, and embedded systems.
Linux distributions include Ubuntu, Fedora, and CentOS.
Many server environments run on Linux due to its stability.
Ahora practique la búsqueda:
- Presione
Esc para asegurarse de que está en modo normal
- Escriba
/Linux y presione Enter
- Presione
n para moverse a la siguiente coincidencia de "Linux"
- Presione
N para moverse a la coincidencia anterior
Buscar y reemplazar
Vim le permite reemplazar texto utilizando el comando de sustitución:
- Para reemplazar la primera coincidencia de un patrón en la línea actual:
:s/old/new/
- Para reemplazar todas las coincidencias en la línea actual:
:s/old/new/g
- Para reemplazar todas las coincidencias en todo el archivo:
:%s/old/new/g
- Para reemplazar con confirmación:
:%s/old/new/gc
Intentemos una sustitución:
- Presione
Esc para asegurarse de que está en modo normal
- Escriba
:%s/Linux/GNU\/Linux/g y presione Enter
- Esto reemplazará todas las coincidencias de "Linux" con "GNU/Linux" en todo el archivo
Verifique que se hayan realizado los reemplazos desplazándose por el archivo.
Guarde y salga del archivo:
- Escriba
:wq y presione Enter
Modo visual
El modo visual de Vim le permite seleccionar texto antes de realizar operaciones:
v - Iniciar selección visual por carácter
V - Iniciar selección visual por línea
Ctrl+v - Iniciar selección visual por bloque (seleccionar columnas)
Creemos un nuevo archivo para practicar el modo visual:
vim ~/project/visual_example.txt
Ingrese al modo de inserción con i y escriba:
Line 1: This is the first line for practicing visual mode.
Line 2: We can select parts of this text.
Line 3: Visual mode is very powerful.
Line 4: It allows for precise text manipulation.
Line 5: This is the last line of our example.
Presione Esc para volver al modo normal.
Ahora pruebe estas operaciones en modo visual:
- Mueva el cursor al principio de "Line 2"
- Presione
V para iniciar la selección visual por línea
- Presione
j para extender la selección para incluir "Line 3"
- Presione
d para eliminar las líneas seleccionadas
Debería ver que las líneas 2 y 3 se han eliminado.
Trabajo con múltiples archivos
Puede editar múltiples archivos en una sola sesión de Vim:
- Para abrir múltiples archivos a la vez:
vim file1.txt file2.txt
- Para cambiar al siguiente buffer:
:bn
- Para cambiar al buffer anterior:
:bp
- Para listar todos los buffers:
:ls
- Para cambiar a un buffer específico:
:b number o :b name
Creemos y trabajemos con múltiples archivos:
vim ~/project/file1.txt ~/project/file2.txt
En el primer archivo, ingrese al modo de inserción con i y escriba:
This is the content of file1.txt.
We're practicing working with multiple files in Vim.
Guarde este archivo sin salir de Vim:
- Presione
Esc para asegurarse de que está en modo normal
- Escriba
:w y presione Enter
Ahora cambie al segundo archivo:
- Escriba
:bn y presione Enter
Ingrese al modo de inserción con i y escriba:
This is the content of file2.txt.
Switching between files in Vim is efficient.
Guarde este archivo y salga de Vim:
- Presione
Esc para asegurarse de que está en modo normal
- Escriba
:wq y presione Enter
Creación de un archivo de configuración con comentarios
Apliquemos las funciones avanzadas que ha aprendido para crear un archivo de configuración más complejo:
vim ~/project/advanced_config.conf
Ingrese al modo de inserción con i y escriba:
## Server Configuration
## Last updated: 2023-10-20
[Database]
Host=localhost
Port=5432
User=dbuser
Password=secret
Database=myapp
[Web]
Host=0.0.0.0
Port=8080
Debug=true
LogLevel=info
[Security]
EnableSSL=true
SSLCert=/etc/ssl/certs/mycert.pem
SSLKey=/etc/ssl/private/mykey.pem
AllowedIPs=127.0.0.1,192.168.1.0/24
Ahora practique algunas ediciones avanzadas:
- Busque "localhost" utilizando
/localhost
- Reemplace "secret" con "db_password" utilizando
:s/secret/db_password/
- Utilice el modo visual para seleccionar y eliminar la línea "AllowedIPs"
- Agregue una nueva sección al final utilizando
o para entrar en modo de inserción en una nueva línea:
[Monitoring]
Enabled=true
Interval=60
AlertEmail=admin@example.com
Guarde el archivo y salga:
- Presione
Esc para asegurarse de que está en modo normal
- Escriba
:wq y presione Enter
Verifique el contenido de su archivo de configuración:
cat ~/project/advanced_config.conf
¡Excelente trabajo! Ahora ha aprendido y practicado funciones avanzadas de Vim que le ayudarán a ser más productivo al editar texto en Linux.