On Dec 3, 8:25 am, Dennis Benzinger <[EMAIL PROTECTED]> wrote:
> Hi Nicolas!
>
> Am 03.12.2008 15:10, Nicolas Aggelidis schrieb:
>
> > hi to all the list,
>
> > is there any way to make the tabline of gvim display only the basename
> > of the file and not its full name.
>
> You want to set the guitablabel option. See :help guitablabel and :help
> statusline for the fields you can use in the guitablabel option. You
> probably want the %t field.
>

Assuming that you're using the GUI version of Vim, of course.

Here's my setup, which I am quite fond of. It only shows the base name
like you want, and it additionally shows the tab number for easy
jumping between tabs with [count]gt. I additionally set up the
guitabtooltip option to allow me to see the full path. I'm fairly
certain that the google group will strip out all the indentation, so
you'll probably want to reindent the entire thing if you end up using
it:

set showtabline=2

" set up tab labels with tab number, buffer name, number of windows
function! GuiTabLabel()
  let label = ''
  let bufnrlist = tabpagebuflist(v:lnum)

  " Add '+' if one of the buffers in the tab page is modified
  for bufnr in bufnrlist
    if getbufvar(bufnr, "&modified")
      let label = '+'
      break
    endif
  endfor

  " Append the tab number
  let label .= tabpagenr().': '

  " Append the buffer name
  let name = bufname(bufnrlist[tabpagewinnr(v:lnum) - 1])
  if name == ''
    " give a name to no-name documents
    if &buftype=='quickfix'
      let name = '[Quickfix List]'
    else
      let name = '[No Name]'
    endif
  else
    " get only the file name
    let name = fnamemodify(name,":t")
  endif
  let label .= name

  " Append the number of windows in the tab page
  let wincount = tabpagewinnr(v:lnum, '$')
  return label . '  [' . wincount . ']'
endfunction

" set up tab tooltips with every buffer name
function! GuiTabToolTip()
  let tip = ''
  let bufnrlist = tabpagebuflist(v:lnum)

  for bufnr in bufnrlist
    " separate buffer entries
    if tip!=''
      let tip .= ' | '
    endif

    " Add name of buffer
    let name=bufname(bufnr)
    if name == ''
      " give a name to no name documents
      if getbufvar(bufnr,'&buftype')=='quickfix'
        let name = '[Quickfix List]'
      else
        let name = '[No Name]'
      endif
    endif
    let tip.=name

    " add modified/modifiable flags
    if getbufvar(bufnr, "&modified")
      let tip .= ' [+]'
    endif
    if getbufvar(bufnr, "&modifiable")==0
      let tip .= ' [-]'
    endif
  endfor

  return tip
endfunction

set guitablabel=%{GuiTabLabel()}
set guitabtooltip=%{GuiTabToolTip()}

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to