Vim: altera o rótulo para uma guia específica

17

Digamos que eu tenha um monte de guias abertas no Vim, com uma linha de tablete parecida com esta:

1 v/file1.py 2 t/file.py 1 t/file.py 1 o/otherfile.py

Veja como duas guias dizem "t / file.py"? Esses são arquivos diferentes, eles são transformados no mesmo rótulo de guia.

No meu fluxo de trabalho, os títulos das abas são geralmente ambíguos (yay para Chef nomeando tudo "default.rb") ou não ajudam ("Eu sei que uma dessas 8 abas com 4 buffers tem esse arquivo eu estou procurando ... ").

Gostaria de renomear as guias para indicar o que representam logicamente:

1 homepage_view 2 tests 1 homepage_template 1 o/otherfile.py

Eu estou bem com abas padrão para um rótulo baseado em nome de arquivo, desde que eu esteja livre para alterá-lo uma vez que a guia é criada.

Como posso fazer isso no Vim?

    
por spiffytech 12.02.2014 / 17:16

2 respostas

14

Existe um pequeno plugin chamado Taboo que facilita isso. Basta instalá-lo e, em seguida, você pode alterar o título da guia com:

:TabooRename My Tab Title

Você pode verificar o código-fonte desse plug-in se estiver interessado em escrever sua própria solução.

    
por 31.12.2014 / 23:15
7

Para o gvim, veja

:help 'guitablabel'
:help setting-guitablabel

Defina a opção para uma expressão avaliada como t:mytablabel (uma variável tab-local), se existir, ou então para uma string vazia (significando usar o padrão):

:set guitablabel=%{exists('t:mytablabel')?t:mytablabel\ :''}

Talvez isso já seja muito complicado, ou talvez você queira ficar mais chique. Nesse caso, defina uma função:

function! GuiTabLabel()
  return exists('t:mytablabel') ? t:mytablabel : ''
endfunction
:set guitablabel=%{GuiTabLabel()}
:set go+=e

Em seguida, em qualquer guia onde você deseja substituir o padrão, faça algo como

:let t:mytablabel = 'homepage_template'

Se você estiver usando o vim em um terminal, não no gvim, você deverá definir a opção 'tabline' em vez de 'guitablable' . Isso é um pouco mais complicado, já que você precisa de uma única expressão que inclua rótulos para todas as guias abertas. Existe um exemplo completo em

:help setting-tabline
    
por 13.02.2014 / 03:35

Tags