¿Qué es una función vimrc para determinar si se ha modificado un búfer?
Tengo una función de tabulación que robé / modifiqué desde algún lugar, pero me gustaría que el nombre de archivo tenga un asterisco antes si se ha modificado desde la última vez que se escribió en el disco (es decir, si: up realizaría una acción) .
Por ejemplo, esta es mi tabulación cuando abro el archivo vim -p * .txt
file1.txt file2.txt file3.txt
Luego, después de cambiar file1.txt y no guardarlo:
*file1.txt file2.txt file3.txt
Mi función de tabla:
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