Tôi có một chức năng tabline mà tôi đã đánh cắp/sửa đổi từ một nơi nào đó, nhưng tôi muốn tên tệp có dấu hoa thị trước khi nó được sửa đổi kể từ lần cuối nó được ghi vào đĩa (tức là nếu: up sẽ thực hiện một hành động).Chức năng vimrc là gì để xác định xem bộ đệm đã được sửa đổi chưa?
Đối với ví dụ này là tabline của tôi khi tôi mở vim -p tập tin * .txt
file1.txt file2.txt file3.txt
Sau đó, sau khi tôi thay đổi file1.txt và không lưu nó:
*file1.txt file2.txt file3.txt
tabline My chức năng:
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
bản sao có thể có của [Vim Buffer đã được sửa đổi] (http://stackoverflow.com/questions/5606914/vim-buffer-has-been-modified) –