今晚试了很久,总算在文件头中实现--Last modified功能。
分为两个部分,第一:先自动在新文件中插入文件头;第二:自动修改Last modified
部分代码:
"新建.c,.h,.sh,.java文件,自动插入文件头
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
""定义函数SetTitle,自动插入文件头
func SetTitle()
"如果文件类型为.sh文件
if &filetype == 'sh'
call setline(1,"\#########################################################################")
call append(line("."), "\# File Name: ".expand("%"))
call append(line(".")+1, "\# Description: ")
call append(line(".")+2, "\# Author: chu")
call append(line(".")+3, "\# Mail: )
call append(line(".")+4, "\# Created_Time: ".strftime("%Y-%m-%d %H:%M:%S"))
call append(line(".")+5, "\# Last modified: ".strftime("%Y-%m-%d %H:%M:%s"))
call append(line(".")+6, "\#########################################################################")
call append(line(".")+7, "\#!/bin/bash")
call append(line(".")+8, "")
else
call setline(1, "/*************************************************************************")
call append(line("."), " * File Name: ".expand("%"))
call append(line(".")+1, " * Description: ")
call append(line(".")+2, " * Author: chu")
call append(line(".")+3, " * Mail: ")
call append(line(".")+4, " * Created_Time: ".strftime("%Y-%m-%d %X"))
call append(line(".")+5, " * Last modified: ".strftime("%Y-%m-%d %X"))
call append(line(".")+6, " ************************************************************************/")
call append(line(".")+7, "")
endif
"新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G
endfunc
"""""""""""""""""""""""""""""""""""""""""
""实现上面函数中的,Last modified功能
"""""""""""""""""""""""""""""""""""""""""
autocmd BufWrite,BufWritePre,FileWritePre *.c ks|call LastModified()|'s
func LastModified()
if line("$") > 20
let l = 20
else
let l = line("$")
endif
exe "1,".l."g/Last modified: /s/Last modified: .*/Last modified:".
\strftime(" %Y-%m-%d %X" ) . "/e"
endfunc
""""""""""""""""""""
我设置为对所有的.c文件都自动调用LastModified函数
参考文献:http://www.cnblogs.com/soli/archive/2007/09/07/885044.html