Ao trabalhar em várias ramificações diferentes em um repositório git, descobri que quero diferentes conjuntos de arquivos abertos em guias diferentes. Existe algum plug-in ou maneira de essencialmente "salvar" o estado atual das guias abertas ao verificar uma ramificação diferente e, quando a ramificação original é verificada novamente - esse conjunto de guias é restaurado? Idealmente, seria capaz de manter o estado da guia de vários ramos diferentes.
Executar várias instâncias do NeoVim e gerenciá-lo suspendendo os processos, de alguma forma para que não fiquem chateados por ter o mesmo arquivo aberto, pode ser uma opção.
O grande problema com a troca de ramificações no Vim é que os buffers, registros, histórico, etc. são globais, o que dificulta bastante a criação de fluxos de trabalho que não seguem esse padrão. E então há arquivos de troca, arquivos de desfazer persistentes, etc. Por exemplo, alguns arquivos podem desaparecer do seu sistema de arquivos quando você troca de ramificação, mas você teria que remover qualquer referência a eles no Vim, o que pode não ser tão trivial quanto parece.
Uma estratégia mais econômica seria tratar cada ramificação como um projeto separado:
Na prática, ficaria assim:
Com uma guia de emulador de terminal por "projeto/árvore de trabalho/Vim", você poderá obter ambientes separados e estáveis.