Skip to content

Instantly share code, notes, and snippets.

@nhooyr
Last active January 21, 2016 01:33
Show Gist options
  • Save nhooyr/41c65fdf07aff911df55 to your computer and use it in GitHub Desktop.
Save nhooyr/41c65fdf07aff911df55 to your computer and use it in GitHub Desktop.
if exists("+showtabline")
function! Tabline()
let s = '%#TabLabel' . mode() . '# tabs %#TabLabelNum' . mode() . '#'
let t = tabpagenr()
for i in range(1, tabpagenr('$'))
let wn = tabpagewinnr(i)
let s .= '%' . i . 'T'
let s .= '%#TabBGNum#'
let s .= ( i == t ? '%#TabNumSel#' : '%#TabNum#')
let s .= ' '
let s .= i
let s .= ':'
let s .= wn
let s .= ' '
let s .= ( i == t ? '%#TabNumSelName#' : '%#TabNumName#')
let s .= ''
let s .= ( i == t ? '%#TabNameSel#' : '%#TabName#')
let buflist = tabpagebuflist(i)
let bufnr = buflist[wn - 1]
let file = bufname(bufnr)
if file == ''
let file = '[No Name]'
endif
let s .= ' '
let s .= file
let s .= ' '
let s .= ( i == t ? '%#TabNameSelBG#' : '%#TabNameBG#')
let s .= ''
endfor
let s .= '%T%#TabLineFill#%='
return s
endfunction
function! TablineUpdate()
set tabline=%!Tabline()
endfunction
hi TabLabeln ctermfg=8 ctermbg=3
hi TabLabeli ctermfg=8 ctermbg=6
hi TabLabelt ctermfg=8 ctermbg=6
hi TabLabelR ctermfg=8 ctermbg=5
hi TabLabelv ctermfg=8 ctermbg=12
hi TabLabelV ctermfg=8 ctermbg=12
hi TabLabelNumn ctermfg=3 ctermbg=235
hi TabLabelNumi ctermfg=6 ctermbg=235
hi TabLabelNumt ctermfg=6 ctermbg=235
hi TabLabelNumR ctermfg=5 ctermbg=235
hi TabLabelNumv ctermfg=12 ctermbg=235
hi TabLabelNumV ctermfg=12 ctermbg=235
hi TabBGNum ctermfg=235 ctermbg=8
hi TabNameSel ctermfg=235 ctermbg=3
hi TabNumSel ctermfg=7 ctermbg=8
hi TabNumSelName ctermfg=8 ctermbg=3
hi TabNameSelBG ctermfg=3 ctermbg=235
hi TabName ctermfg=250 ctermbg=11
hi TabNum ctermfg=250 ctermbg=8
hi TabNameBG ctermfg=11 ctermbg=235
hi TabNumName ctermfg=8 ctermbg=11
hi TabLineFill ctermfg=7 ctermbg=235
set tabline=%!Tabline()
endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment