很多程序员都想问自己的程序添加一些作者信息之类的信息,那么我们应该怎么实现这个要求那?
只需要在VIM编辑器中添加以下代码即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#为F4添加作者信息
map <F4> ms:call TitleDet()<cr>'s
function
AddTitle()
call append(
0
,
"##############################################"
)
call append(
1
,
"#"
)
call append(
2
,
"#Author: wangshenghui - wangfeng17399@163.com"
)
call append(
3
,
"#"
)
call append(
4
,
"#QQ:417685417"
)
call append(
5
,
"#"
)
call append(
6
,
"#Last modified: "
.strftime(
"%Y-%m-%d %H:%M"
))
call append(
7
,
"#"
)
call append(
8
,
"#Filename: "
.expand(
"%:t"
))
call append(
9
,
"#"
)
call append(
10
,
"#Description: "
)
call append(
11
,
"##############################################"
)
call append(
12
,
"#!/bin/bash"
)
echohl WarningMsg | echo
"Successful in adding the copyright."
| echohl None
endfunction
#修改文件修改时间和文件名
function
UpdateTitle()
normal m'
execute
'/#*Last modified:/s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
normal
''
normal mk
execute
'/#*Filename:/s@:.*$@\=":".expand("%:t")@'
execute
"noh"
normal 'k
echohl WarningMsg | echo
"Successful in updating the copy right."
| echohl None
endfunction
#判断如果前
10
行中如果有Last modified:字段
#如果没有的话,则代表没有添加过作者的信息等条件,则重新添加
#如果有的话,那么只更新修改时间和文件名
function
TitleDet()
let n=
1
while
n <
10
let line = getline(n)
if
line =~
'^\#\s*\S*Last\smodified:\S*.*$'
call UpdateTitle()
return
endif
let n = n +
1
endwhile
call AddTitle()
endfunction
|
本文转自wangfeng7399 51CTO博客,原文链接:http://blog.51cto.com/wangfeng7399/1359489,如需转载请自行联系原作者