此答案基于 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 脚本时尽可能使用较长的形式,除非我在打高尔夫球,因为我重视代码的可读性,而普通命令是晦涩难懂的)。
然后,您可以定义自动命令,例如:
autocmd BufWrite *.sh,*.ksh,*.bash call UpdateModifiedTime('## ')
autocmd BufWrite *.vim call UpdateModifiedTime('" ')
autocmd BufWrite *.py call UpdateModifiedTime('')
autocmd BufWrite *.c call UpdateModifiedTime('// ')
请注意,我为 Python 提供了一个空的注释字符。那是因为我'''
的文件头中有用于评论的字符串。你可以使用'# '
或'## '
任何你喜欢的东西。
你可以用Created
.