Vim: feche e retorne à última aba, repita

Vim: feche e retorne à última aba, repita

Muitas vezes me encontro nesta situação:

  1. Abra o gVim com NERDTree do diretório de trabalho atual.
  2. Abra um arquivo do NERDTree usando <S-T>para que ele pegue uma nova aba.
  3. :tabpreviouspara retornar ao NERDTree.
  4. Explore os diretórios e abra um segundo arquivo usando <S-T>.
  5. Feche o segundo arquivo :qou ZZ.

O que eu esperava que acontecesse depois5.é retornar ao NERDTree, mas o Vim sempre recolhe a aba e abre a da direita. Isso raramente é o que eu pretendia fazer e preferiria que o Vim mantivesse uma lista de todas as guias pelas quais passei. Então, quando fecho um, ele o retira da pilha e foca o próximo.

Isso pode ser visto em outros editores, principalmente IDEs, como o Komodo Edit por exemplo.

Existe um plug-in que faria isso para o Vim?

Responder1

Para ir para a primeira aba (presumivelmente aquela com o NERDTree aberto), faça :tabfirst. O Vim não mantém uma lista de abas ordenadas por "acessadas mais recentemente" e :tabprevious/ou :tabnextlida apenas com as abas à esquerda/direita.

A ação padrão Té justamente abrir o arquivo selecionado em uma nova abaevolte para a aba onde o NERDTree está localizado. Então, não sei por que você precisa fazer isso :tabpreviousdepois T.

Uma maneira comum de usar o NERDTree é simplesmente abri-lo no local, quando necessário, e configurá-lo para fechar automaticamente ao abrir um arquivo. Não me lembro o nome da opção, mas um rápido :help nerdtreeseria suficiente.

Além disso, temo que você esteja cometendo um erro aqui: você está usando as "guias" do Vim como se fossem iguais às guias encontradas em qualquer outro lugar. Esta é uma má ideia porque eles não foram projetados dessa forma. Em vez disso, leia sobre janelas e buffers.

informação relacionada