V de Vim - Buffers

Vamos a ver como editar varios archivos a la vez, y como podemos movernos entre ellos.

En Vim podemos tener varios archivos abiertos simultáneamente, cada uno de ellos en buffers separados. Para ver en cualquier momento los buffers que tenemos en uso haremos:

1.- :buffers

Y nos enumerará todos los buffers.

Si queremos abrir un fichero en otro buffer tecleamos:

2.- :edit nombre_fichero

Y lo abrirá en el siguiente buffer disponible. Recuerda que puedes usar la función de autocompletado de la tecla de tabulación.

Bien, ahora estarás editando otro fichero en el buffer 2, para volver al buffer 1, haz:

3.- :buffer 1

La orden buffer nos lleva al buffer que le indiquemos.

Cuando trabajamos habitualmente con varios ficheros, teclear ':buffer x' constantemente quizas no sea lo mas práctico, así que vamos a ver como mapear el cambio de buffer.

Vamos a asignarle una tecla a las ordenes 'bnext' y 'bprevious' para movernos mas rápido entre buffers.

4.- Añadimos en nuestro vimrc lo siguiente:
map <C-right> <ESC>:bnext<CR>
map <C-left> <ESC>:bprevious<CR>

Ahora si abrimos varios buffers podemos movernos entre ellos pulsando CTRL+flecha_izquierda y CTRL+flecha_derecha.
Awesome, ¿no?.

Otra forma muy práctica de abrir un fichero es desde una referencia a el en otro archivo. Por ejemplo, en la sección de includes de un programa en C, en la línea #include <stdio.h>, nos ponemos sobre el nombre del archivo, y escribimos:

5.- gf

Esto nos abrirá ese archivo en caso de encontrarlo, en un nuevo buffer. Vim buscará ese fichero en el path, y en el directorio actual.

Y finalmente, para cerrar un buffer cuando ya no lo vayamos a usar mas:

6.- :bdelete numero_buffer

Si te ha gustado esta joyita, la próxima te va a encantar...