Como eu faço o vim apenas abrir um arquivo específico uma vez no modo multi-tab?

2

Eu não sei se é um recurso ou bug, mas isso está realmente me irritando.

Quando um arquivo específico já está aberto ( tabnew ), só quero mudar para essa guia.

Existe uma solução alternativa?

    
por new_perl 15.07.2011 / 05:51

2 respostas

2

Tente:

:tab drop filename

Fonte: Edit a file or jump to it if already open

    
por 15.07.2011 / 06:03
2

A única maneira que eu sei de fazer isso com as abas é escrever uma função para procurar por um arquivo aberto dentro de outra aba e, se assim for, mudar para a aba, caso contrário, faça um novo comando aba. Então, em vez de chamar tabnew, você chamaria sua função. Esse tipo de solução sempre parece hackiano para mim.

Eu acredito que o principal aqui é que as abas do vim não são as mesmas das outras abas dos editores. Eles não são destinados a gerenciar esse relacionamento um para um de uma guia de um arquivo. Tabs no vim são mais, pela falta de uma palavra melhor, "viewports". Permitindo que você tenha diferentes conjuntos de janelas visualizando os vários buffers abertos que você tem.

Se você realmente quer a idéia de uma guia por arquivo, você pode tentar não usar o recurso 'tab' do vim e simplesmente editar os arquivos da maneira original com: editar e usar os comandos buffers como: bn: bp: ls: bfirst: explosão. Além disso, o plugin MiniBufExplorer lhe dará uma representação com guias para os buffers. Pela minha experiência, esse modelo tende a representar melhor o que os usuários esperam da edição de vários arquivos.

Se você ainda quiser usar as abas, me avise e eu provavelmente posso criar uma pequena função de exemplo que fará algo próximo do que você quer.

Se você der uma chance ao método buffers, recomendo vincular C-n / C-p ou C- / C- aos comandos: bn /: bp, já que eles são usados com freqüência.

    
por 15.07.2011 / 18:05

Tags