Na verdade, existe uma maneira de fazer isso de acordo com esta resposta :
:args *.c | argdo tabe
Funciona perfeitamente. Ele provavelmente irá fechar todas as outras abas. Clique aqui se quiser saber mais.
Quando se trata do comportamento estranho de :tab , verifica-se que há uma variável tabpagemax , que é definida como 10 por padrão (consulte :h tabepagemax ). Isso explica tudo.
Você pode descobrir qual é o valor das variáveis no vim usando :set foo? , onde foo é a variável que você está procurando.
Aqui estão algumas referências que eu encontrei: