Cuando necesito trabajar en diferentes proyectos al mismo tiempo, tengo el siguiente flujo de trabajo:
- Creo una pestaña para cada proyecto.
- En cada pestaña abro los archivos que quiero editar, lo que genera varios búferes.
- Opcionalmente, si necesito ver dos (o más) archivos al mismo tiempo, creo ventanas divididas, así que tengo una pestaña que contiene diferentes ventanas que muestra un búfer.
Para navegar entre mis buffers que realmente no uso :ls
y en su :b [name or number of buffer]
lugar creé algunas asignaciones convenientes que me permiten cambiar entre los buffers con :bnext
y:bprevious
Esta forma de trabajar es bastante buena, pero algo me molesta: los buffers se comparten entre las pestañas.
Si abro file1
y file2
en tab1
y file3
adentro tab2
, si tab1
uso varias veces :bnext
, veré file3
en esta pestaña lo que no quiero. El flujo de trabajo que me gustaría obtener es el siguiente :
- Inicie vim (tengo una primera pestaña con un búfer):
$ vim foo
- Agregue un búfer a esta pestaña:
:e bar
- Abra una nueva pestaña y cambie a ella:
:tabnew
- Abra un nuevo búfer en esta pestaña:
:e baz
- Si me quedo en este búfer y hago
:bnext
o:bprevious
me quedaré en elbaz
búfer (ya que es el único en esta pestaña) - Si entro en la pestaña anterior
:tabprevious
y ejecuto varias veces:bnext
, solo cambiaré entrefoo
ybar
buffers, pero no verébaz
Así que aquí viene mi pregunta: ¿es posible vincular un conjunto de buffers a una pestaña y hacer que vim no permita el acceso a algunos buffers desde otra pestaña que no sea en la que están destinados?
Nota: Soy consciente de que usar :b [myBuffer]
sería una manera de mantener un búfer en una pestaña, pero cuando tengo 3 o 4 archivos para editar, siento que soy realmente más rápido usando mis asignaciones que escribiendo el nombre del búfer (incluso si puedo escriba solo algunos caracteres para que coincidan con el nombre del búfer) .
alt+tab
(o peor aún, el mouse) se siente mucho menos fácil que cambiar de pestaña dentro de vim.