“”红色字体都是附加注释,使用时,在不改动文章格式的情况下,过滤红色部分就可以了,采用的也是vim脚本的双引号注释。
“”多方参考,亮点是 let newtime = "##last modified : ".strftime("%Y-%m-%d %H:%M:%S")。
“”因为其它方法都是寻找last modified然后去修改,我这里是直接替换这行的文字。
“”使用了substitute函数,不过网上的资料太少了,然后我去vim说明手册里去查,结果也没有收获,因为它的函数讲解和c
“”语言的不同,没有那么细。
“”第一个函数 FileHead()没什么可说的,第二个函数SetLastModifiedTimes()觉得比较实用。
“”可以终端输入##vim,然后输入:help append和:help substitute,可查看这两个函数的说明手册。
""autocmd BufNewFile *.c exec ":call FileHead()"
map <F7> :call FileHead()<CR>5k
function FileHead()
call append( 0,"/**************************************************")
call append( 1,"##filename : ".expand("%:t") )
call append( 2,"##author : GYZ ")
call append( 3,"##e-mail : [email protected] ")
call append( 4,"##create time : ".strftime("%Y-%m-%d %H:%M:%S") )
call append( 5,"##last modified : ".strftime("%Y-%m-%d %H:%M:%S") )
call append( 6,"##description : NA ")
call append( 7,"**************************************************/")
call append( 8,"#include <stdio.h> ")
call append( 9,"#include <stdlib.h> ")
call append(10,"#include <string.h> ")
call append(11," ")
call append(12," ")
call append(13,"int main(int argc,char *argv[]) ")
call append(14,"{ ")
call append(15," ")
call append(16," return 0; ")
call append(17,"} ")
call append(18," ")
call append(19," ")
echo
endfunction
“”-------------------------------------------------------------------------------------------------------------------------------------------------------------------
function SetLastModifiedTimes()
“”line1:
let line = getline(6)
let newtime = "##last modified : ".strftime("%Y-%m-%d %H:%M:%S")
“”line2:
let repl = substitute(line,".*$",newtime,"g")
call setline(6,repl)
endfunction
“”line3:
autocmd BufWrite *.c call SetLastModifiedTimes()
line1:获取第6行的字符数据;
line2:等同于:s/.*$/aaa/g, 用aaa整体替换该行,“”.*$这个参数的怎么写,我可是真正找了一天,才偶然发现的,也就是说整体替换,全文这个地方算是个人觉得比较费劲的地方;
line3:这个地方是在文件关闭时,调用修改函数时间。