initial commit - custom tabline
This commit is contained in:
parent
fd34ce146c
commit
30bcbfc7e6
|
@ -0,0 +1,69 @@
|
|||
if exists("+showtabline")
|
||||
|
||||
" Rename tabs to show tab number.
|
||||
" based on:
|
||||
" http://stackoverflow.com/questions/5927952/whats-implementation-of-vims-default-tabline-function
|
||||
|
||||
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 .= (i == t ? '%#TabNumSel#' : '%#TabNum#')
|
||||
let s .= i
|
||||
let s .= '%#TabSeparator#:'
|
||||
let s .= (i == t ? '%#TabLineItemSel#' : '%#TabLineItem#')
|
||||
|
||||
let bufnr = buflist[winnr - 1]
|
||||
let file = bufname(bufnr)
|
||||
let buftype = getbufvar(bufnr, '&buftype')
|
||||
|
||||
if buftype == 'help'
|
||||
let file = 'help:' . fnamemodify(file, ':t:r')
|
||||
|
||||
elseif buftype == 'quickfix'
|
||||
let file = 'quickfix'
|
||||
|
||||
elseif buftype == 'nofile'
|
||||
if file =~ '\/.'
|
||||
let file = substitute(file, '.*\/\ze.', '', '')
|
||||
endif
|
||||
|
||||
else
|
||||
let file = pathshorten(fnamemodify(file, ':p:~:.'))
|
||||
|
||||
endif
|
||||
|
||||
if file == ''
|
||||
let file = '[]'
|
||||
endif
|
||||
|
||||
let s .= file . ' '
|
||||
|
||||
let i = i + 1
|
||||
|
||||
endwhile
|
||||
|
||||
let s .= '%T%#TabLineFill#%='
|
||||
let s .= '%#TabSeparator#"%#TabLineItemSel#%{v:register}%#TabSeparator#" '
|
||||
let s .= " %#TabLineItemSel#%{ObsessionStatus(fnamemodify(v:this_session,':t'),'---')} %*"
|
||||
|
||||
return s
|
||||
|
||||
endfunction
|
||||
|
||||
highlight def link TabNum Comment
|
||||
highlight def link TabNumSel String
|
||||
highlight def link TabSeparator Comment
|
||||
highlight def link TabLineItem Comment
|
||||
highlight def link TabLineItemSel String
|
||||
|
||||
set showtabline=2
|
||||
set tabline=%!MyTabLine()
|
||||
|
||||
endif " exists("+showtabline")
|
Loading…
Reference in New Issue