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 :lse :b [name or number of buffer]em vez disso, criou alguns mapeamentos convenientes, permitindo-me para alternar entre os buffers com :bnexte:bprevious
Essa maneira de trabalhar é muito boa, mas algo me incomoda: os buffers são compartilhados entre as guias.
Se eu abrir file1e file2em tab1e file3em tab2, em caso de tab1eu uso várias vezes :bnexteu vou ver file3neste 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
:bnextou:bpreviouspermanecerá nobazbuffer (já que é o único nesta guia) - Se eu for na guia anterior
:tabpreviouse executar várias vezes:bnext, alternarei apenas entrefooebarbuffers, 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.
