Câu trả lời này được dựa trên của pb2q, nhưng làm cho nó có thể mở rộng hơn. Xác định một chức năng để làm việc tạo ra, vì vậy bạn có thể sử dụng nó cho một loạt các loại bình luận:
function UpdateModifiedTime(comment)
let savedPosition = getpos(".")
call cursor(1, 1)
let modified = a:comment . 'Modified:'
if search(modified, 'e') > 0
execute 'substitute/' . modified . '.*/' . modified . ' ' . strftime('%b %d, %Y %T') . '/'
endif
call setpos(".", savedPosition)
endfunction
(Lưu ý: một thói quen của tôi để sử dụng các hình thức còn bất cứ khi nào có thể có trong kịch bản Vim, trừ khi tôi golfing, vì tôi đánh giá khả năng đọc mã và lệnh bình thường là phức tạp).
Sau đó bạn có thể định nghĩa autocommands như:
autocmd BufWrite *.sh,*.ksh,*.bash call UpdateModifiedTime('## ')
autocmd BufWrite *.vim call UpdateModifiedTime('" ')
autocmd BufWrite *.py call UpdateModifiedTime('')
autocmd BufWrite *.c call UpdateModifiedTime('// ')
Lưu ý rằng tôi đã đưa ra một nhân vật bình rỗng cho Python. Đó là bởi vì tôi có các chuỗi '''
trong tiêu đề tệp của tôi để nhận xét. Bạn có thể sử dụng '# '
hoặc '## '
hoặc bất kỳ dấu tick nào ưa thích của bạn.
Bạn có thể làm điều gì đó tương tự với Created
.
Nguồn
2012-09-22 13:26:00