Digamos que eu tenha várias abas abertas no Vim, com uma tabline parecida com esta:
1 v/file1.py 2 t/file.py 1 t/file.py 1 o/otherfile.py
Veja como as duas guias dizem "t / file.py"? Esses são arquivos diferentes, eles são transformados no mesmo rótulo da guia.
No meu fluxo de trabalho, os títulos das guias geralmente são ambíguos (sim, para o Chef nomear tudo "default.rb") ou inúteis ("Eu conheço uma dessas 8 guias com 4 buffers cada uma com o arquivo que estou procurando ...").
Gostaria de renomear as guias para indicar o que elas representam logicamente:
1 homepage_view 2 tests 1 homepage_template 1 o/otherfile.py
Eu estou bem com as guias padronizadas para um rótulo baseado em nome de arquivo, desde que eu esteja livre para alterá-lo assim que a guia for criada.
Como posso fazer isso no Vim?
:help setting-tabline
(para vim em um terminal) ou:help setting-guitablabel
(para gvim). Você pode escrever uma função que verifique uma variável tab-local e retorne esse ou algum padrão. Depois de abrir uma guia:let t:mytablabel = 'homepage_template'
,.Respostas:
Há um pequeno plugin chamado Taboo que facilita isso. Basta instalá-lo e, em seguida, você pode alterar o título da guia com:
Você pode consultar o código-fonte desse plug-in se estiver interessado em escrever sua própria solução.
fonte
Taboo
é fantástico.TabooReset
eTabooRename
literalmente alterna dois "modos" da linha de tabulação ==> uma guia nomeada pelo Taboo e uma guia nomeada automaticamente pelo Vim. Isso replica o " Windows nomeado " do Tmux perfeitamente. Melhor ainda, as guias nomeadas em Taboo podem ser restauradas usando o Startify (ou em qualquer outra ferramenta de economia de sessão).Para gvim, consulte
Defina a opção para uma expressão que seja avaliada como
t:mytablabel
(uma variável tab-local) se existir, ou então como uma sequência vazia (ou seja, usar o padrão):Talvez isso já seja muito complicado, ou talvez você queira ficar mais chique. Nesse caso, defina uma função:
Em qualquer guia em que você queira substituir o padrão, faça algo como
Se você estiver usando o vim em um terminal, não o gvim, será necessário definir a
'tabline'
opção em vez de'guitablable'
. Isso é um pouco mais complicado, pois você precisa de uma única expressão que inclua rótulos para todas as guias abertas. Há um exemplo completo emfonte