VI/Vim – DÍA 5
Trabajar con varios archivos y buffers
1. Objetivo del día
Aprender a:
- abrir varios archivos a la vez
- saltar entre ellos sin cerrar VI
- listar buffers
- cargar y descargar archivos
- editar desde la línea de comandos dentro de VI
Esto convierte a Vim en un editor mucho más potente que la mayoría de editores de terminal.
2. Requisitos
- Dominar la navegación (Día 2)
- Dominar edición básica (Día 3)
- Conocer búsquedas y reemplazos (Día 4)
3. Teoría esencial: ¿Qué es un buffer en VI/Vim?
Un buffer es una copia temporal de un archivo cargado en memoria mientras lo editas.
Puedes:
- tener varios buffers abiertos
- moverte entre ellos
- listarlos
- cargar nuevos archivos sin cerrar el editor
Esto es como tener varias pestañas abiertas en un editor moderno, pero sin interfaz gráfica.
4. Abrir varios archivos a la vez
Desde terminal:
vi archivo1.txt archivo2.txt archivo3.txt
VI abrirá el primero, pero todos estarán cargados.
5. Cambiar de archivo (buffer)
Ir al siguiente buffer:
:bn
(b = buffer | n = next)
Ir al buffer anterior:
:bp
(b = buffer | p = previous)
Ir a un buffer concreto (por número):
:buffer 2
6. Listar todos los buffers
:ls
o:
:buffers
La salida muestra:
- número del buffer
- nombre del archivo
- estado (activo, oculto, etc.)
Ejemplo:
1 "archivo1.txt" line 10
2 "archivo2.txt" line 1
3 "archivo3.txt" line 20
7. Abrir un nuevo archivo sin salir de VI
:edit nuevo.txt
o la forma corta:
:e nuevo.txt
Esto carga el archivo como nuevo buffer.
8. Cambiar de archivo sin guardar
Si el archivo actual tiene cambios sin guardar, VI no te dejará cambiar.
Soluciones:
Forzar el cambio sin guardar (perderías cambios):
:bn!
o:
:bp!
o:
:buffer! 3
Guardar y cambiar:
:w
:bn
9. Cerrar un buffer
Cerrar el buffer actual (como “cerrar pestaña”):
:bd
(bd = buffer delete)
Cerrar buffer 2:
:bd 2
No borra el archivo en disco; solo cierra la copia en memoria.
10. Editar varios archivos con argument list
Puedes abrir varios archivos con una lista de argumentos:
vi *.txt
o:
vi archivo1.txt archivo2.txt archivo3.txt
Y luego:
:next
:prev
Lo cual es equivalente a:
:n
:p
11. Práctica guiada (20–30 minutos)
11.1 Crear 3 archivos
echo "Archivo 1" > a1.txt
echo "Archivo 2" > a2.txt
echo "Archivo 3" > a3.txt
11.2 Abrirlos juntos
vi a1.txt a2.txt a3.txt
11.3 Practicar navegación de buffers
Dentro de VI:
:ls:bn:bn:bp:buffer 1:buffer 3
11.4 Editar sin cerrar
- modificar a1.txt →
:w - saltar a a2.txt →
:bn - saltar a a3.txt →
:bn - volver a a1.txt →
:bp
11.5 Añadir un archivo nuevo
:e nuevo.txt
12. Checklist del Día 5
- Has abierto varios archivos a la vez
- Has cambiado entre buffers con
:bny:bp - Puedes listar buffers con
:ls - Sabes abrir un archivo nuevo con
:e - Sabes cerrar buffers con
:bd - Entiendes la “argument list” y
:n/:p
Si marcas todo esto, ya manejas múltiples archivos en VI como un profesional.
13. Ejercicio sugerido
- Abre 3 archivos cualquiera al mismo tiempo.
- Muévete entre ellos usando
:bn,:bp,:buffer. - Crea un archivo nuevo desde dentro de VI con
:e. - Cierra uno de los buffers con
:bd. - Edita texto en varios y guarda solo algunos.
No toques nada del sistema; practica con archivos de prueba.
14. Día 5 completado
Trabajar con múltiples archivos es una capacidad avanzada y muy práctica en VI/Vim.
A partir de aquí, puedes editar configuraciones complejas sin salir del editor y sin perder tiempo.
En el Día 6, veremos cómo configurar VI/Vim mínimamente:
- activar numeración
- resaltar buscadores
- ajustar indentación
- crear un
.vimrcsencillo - hacer VI más amable
