VIM Custom TabLine
Hi guys,
VIM has an option tabline
that one can use to configure how the tab line
would look like. Back when I used to use gvim, I could very easily manipulate
how the text on the tab looked like by setting the guitablabel
setting,
however tabline
is not all that easy to configure.
Here is what I use now :
function! MyTabLine()
let s = ''
for i in range(tabpagenr('$'))
let tabnr = i + 1 " range() starts at 0
let winnr = tabpagewinnr(tabnr)
let buflist = tabpagebuflist(tabnr)
let bufnr = buflist[winnr - 1]
let bufname = fnamemodify(bufname(bufnr), ':t')
let s .= '%' . tabnr . 'T'
let s .= (tabnr == tabpagenr() ? '%#TabLineSel#' : '%#TabLine#')
let s .= ' ' . tabnr
let n = tabpagewinnr(tabnr,'$')
if n > 1 | let s .= ':' . n | endif
let s .= empty(bufname) ? ' [No Name] ' : ' ' . bufname . ' '
let bufmodified = getbufvar(bufnr, "&mod")
if bufmodified | let s .= '+ ' | endif
endfor
let s .= '%#TabLineFill#'
return s
endfunction
set tabline=%!MyTabLine()
This is what it looks like :