Quando preciso trabalhar em projetos diferentes ao mesmo tempo, tenho o seguinte fluxo de trabalho:
- Eu crio uma guia para cada projeto.
- Em cada guia, abro os arquivos que quero editar, o que gera vários buffers.
- Opcionalmente, se eu precisar ver dois (ou mais) arquivos ao mesmo tempo, crio janelas divididas para ter uma guia contendo janelas diferentes que mostram um buffer.
Para navegar entre os meus tampões Eu realmente não usam :ls
e :b [name or number of buffer]
em vez disso, criou alguns mapeamentos convenientes, permitindo-me para alternar entre os buffers com :bnext
e:bprevious
Essa maneira de trabalhar é muito boa, mas algo me incomoda: os buffers são compartilhados entre as guias.
Se eu abrir file1
e file2
em tab1
e file3
em tab2
, em caso de tab1
eu uso várias vezes :bnext
eu vou ver file3
neste guia que eu não quero. O fluxo de trabalho que eu gostaria de obter é o seguinte :
- Inicie o vim (eu tenho uma primeira guia com um buffer):
$ vim foo
- Adicione um buffer a esta guia:
:e bar
- Abra uma nova guia e mude para ela:
:tabnew
- Abra um novo buffer nesta guia:
:e baz
- Se eu permanecer neste buffer e permanecer
:bnext
ou:bprevious
permanecerá nobaz
buffer (já que é o único nesta guia) - Se eu for na guia anterior
:tabprevious
e executar várias vezes:bnext
, alternarei apenas entrefoo
ebar
buffers, mas não verábaz
Então, aqui está a minha pergunta: É possível vincular um conjunto de buffers a uma guia e fazer com que o vim não permita o acesso a alguns buffers de outra guia além daquela em que eles devem estar?
Nota: Estou ciente de que usar :b [myBuffer]
seria uma maneira de manter um buffer em uma guia, mas quando tenho 3 ou 4 arquivos para editar, sinto que sou muito mais rápido usando meus mapeamentos do que digitando o nome do buffer (mesmo que eu possa digite apenas alguns caracteres para corresponder ao nome do buffer) .
alt+tab
(ou pior ainda o mouse) parece muito menos fácil do que alternar a guia no vim.