is there any way to make the tabline of gvim display only the basename
of the file and not its full name.
i.e /large/path/to/a/file.c to be displayed like file.c
because when you open a lot of tabs that are from different
directories the tabline size is messed up...
thanks in advance,
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.
HTH,
Dennis Benzinger
It's also possible in Console Vim (which uses 'tabline', not
'guitablabel') and when using a text-style tabline in the GUI (when
'guioptions' doesn't include the e flag). Here's how I do it:
if exists("+guioptions")
set go-=a go-=e go+=t
endif
if exists("+showtabline")
function MyTabLine()
let s = ''
let t = tabpagenr()
let i = 1
while i <= tabpagenr('$')
let buflist = tabpagebuflist(i)
let winnr = tabpagewinnr(i)
let s .= '%' . i . 'T'
let s .= (i == t ? '%1*' : '%2*')
let s .= ' '
let s .= i . ':'
let s .= winnr . '/' . tabpagewinnr(i,'$')
let s .= ' %*'
let s .= (i == t ? '%#TabLineSel#' : '%#TabLine#')
let file = bufname(buflist[winnr - 1])
let file = fnamemodify(file, ':p:t')
if file == ''
let file = '[No Name]'
endif
let s .= file
let i = i + 1
endwhile
let s .= '%T%#TabLineFill#%='
let s .= (tabpagenr('$') > 1 ? '%999XX' : 'X')
return s
endfunction
set stal=2
set tabline=%!MyTabLine()
map <F10> :tabnext<CR>
map! <F10> <C-O>:tabnext<CR>
map <S-F10> :tabprev<CR>
map! <S-F10> <C-O>:tabprev<CR>
endif
The User1 and User2 highlight groups, used by the above, are defined in
my "almost-default" colorscheme.
Best regards,
Tony.
--
It is only people of small moral stature who have to stand on their
dignity.