
Untitled
By: a guest on
Jun 9th, 2012 | syntax:
None | size: 0.96 KB | hits: 21 | expires: Never
What is a vimrc function to determine if a buffer has been modified?
file1.txt file2.txt file3.txt
*file1.txt file2.txt file3.txt
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 .= ' %*'
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()
endif
let s .= (getbufvar(buflist[winnr - 1], "&mod")?'*':'').file
let s .= file
let s .= file
let s .= (i == t ? '%m' : '')
let i = i + 1