这个答案是基于pb2q的,但使它更具可扩展性。定义一个函数来完成创作,所以你可以使用它的各种意见类型:
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
(注:这是我的做法是使用较长的形式尽可能在脚本Vim的,除非我golfing,因为我重视代码的可读性和正常的命令是神秘的)。
然后,您可以定义自动命令,如:
autocmd BufWrite *.sh,*.ksh,*.bash call UpdateModifiedTime('## ')
autocmd BufWrite *.vim call UpdateModifiedTime('" ')
autocmd BufWrite *.py call UpdateModifiedTime('')
autocmd BufWrite *.c call UpdateModifiedTime('// ')
注意,我给了一个空的注释字符为Python。这是因为我的文件头中有'''
字符串用于评论。您可以使用'# '
或'## '
或任何您喜欢的痒痒。
您可以使用Created
做类似的事情。