Questa risposta si basa su pb2q di, ma lo rende più estensibile. Definire una funzione per fare la creazione, in modo da poterlo utilizzare per una varietà di tipi di commento:
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
(Nota: è la mia pratica di utilizzare le forme più lunghi se possibile script Vim, se non mi golfing, perché apprezzo la leggibilità del codice e comandi normali sono arcani).
Si può quindi definire autocomandi quali:
autocmd BufWrite *.sh,*.ksh,*.bash call UpdateModifiedTime('## ')
autocmd BufWrite *.vim call UpdateModifiedTime('" ')
autocmd BufWrite *.py call UpdateModifiedTime('')
autocmd BufWrite *.c call UpdateModifiedTime('// ')
Si noti che ho dato un carattere di commento vuoto per Python. Questo perché avevo le stringhe '''
nell'intestazione del mio file per il commento. Puoi usare '# '
o '## '
o qualsiasi altra cosa ti piaccia.
È possibile eseguire operazioni simili con Created
.
fonte
2012-09-22 13:26:00