Vim: explicación de ventanas, pestañas y buffers

[Pincha aquí para ver otros artículos sobre Vim]

Cuando uno empieza a usar el potentísimo editor de texto Vim y consigue pasar de esa primera fase en la que nos horrorizamos de que todo sea tan distinto y poco intuitivo a la segunda fase en la que entendemos la filosofía de trabajo del editor (y es resto de editores nos empiezan a parecer poco intuitivos), es aún posible que nos líemos un poco con los conceptos de Vim de vista, ventana, buffer y pestaña.

Vamos a ver que es cada cosa y cómo suelen usarlas los usuarios avanzados de Vim, pero antes de explicarlo pongo un dibujito muy mono (pincha para ampliarlo mucho, es grande pero ocupa poco):

  • *Vista: * La vista en Vim es lo que vemos en el monitor. Una vista estará siempre dentro de una pestaña (si sólo tenemos una pestaña abierta la vista estará en la única pestaña) y a su vez puede contener una o más ventanas dentro.

  • Ventanas: En Vim una ventana es una subdivisión de la pantalla total que el programa puede usar. Es decir, si estás editando un fichero entero y éste ocupa toda la pantalla que ocupe el Vim, tienes una ventana. Si haces :split o :vsplit, tendrás ahora dos ventanas, viendo el mismo fichero (buffer). Si ahora en una de ellas haces de nuevo :split, tendrás tres ventanas. La utilidad de las ventanas es que nos permiten ver varios buffers o varias partes de un mismo buffer simultáneamente, lo cual en ocasiones es muy útil para programar. Como mínimo vas a tener siempre una ventana porque si cierras la última se cierra el programa y en cualquier momento estamos trabajando a través de una (o varias) ventanas. Incluso cuando estamos en una pestaña, realmente estamos en una ventana que está dentro de una pestaña.

  • Buffers: Los buffers son el concepto más importante de los de esta lista porque son los que contienen realmente los ficheros que abrimos, por lo que podemos pensar en los buffers como los ficheros cargados en memoria; si cerramos un buffer se cierra realmente el fichero y si abrimos un buffer se abre otro fichero. Esto no sucede con ventanas y pestañas porque cuando cerramos una pestaña a través de la cual estamos viendo un buffer el buffer sigue existiendo porque sólo hemos cerrado la ventana. Podemos hacer una metáfora diciendo que las ventanas son las ventanas de una casa y los buffers son las personas; si cierras la ventana la persona sigue estando detrás. La única excepción es cuando cerramos la última ventana abierta en la única pestaña que queda; en ese caso Vim considera que ya no vamos a trabajar más, dado que siempre trabajamos a través de una ventana, y por lo tanto cierra también todos los buffers que hubiera abiertos.

  • Pestañas: Las pestañas, una funcionalidad relativamente reciente de Vim permiten mantener simultaneamente varias vistas, cada una de las cuales puede contener una o más ventanas, y en esa única o múltiples pestañas podemos estar viendo uno o más buffers.

tags: [ articles · linux · programacion · vim ]
comments powered by Disqus