在家目錄下的.vimrc文件中增加如下代碼即可,如果沒有.vimrc文件,則新建該文件。
cd ~
touch .vimrc #如果有該文件則跳過此步驟
vim .vimrc
在文件末尾追加如下代碼:
""""""""""""""""""""""""""""""""""""""""""""""""
""快捷鍵F4,添加文件頭註釋,以及版權聲明
map <F4> :call TitleDet()<cr>'s
function AddTitle()
"call append( 0, "/* COPYRIGHT NOTICE")
call append( 0, "\/* 版權聲明")
call append( 1, " * 功能 :")
call append( 2, " * 作者 :lsy")
call append( 3, " * 文件路徑 : ".expand("%:p:h")."/".expand("%:t"))
call append( 4, " * 創建時間 :".strftime("%Y/%m/%d %H:%M"))
call append( 5, " *\/")
call append( 6, "")
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endfunction
"更新最近修改時間和文件名
function UpdateTitle()
normal m'
execute '/# @date /s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
normal ''
normal mk
execute '/# @file /s@:.*$@\=":".expand("%:p:h")."\\".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
"判斷前10行代碼裏面,是否有COPYRIGHT NOTICE這個單詞,
"如果沒有的話,代表沒有添加過作者信息,需要新添加;
"如果有的話,那麼只需要更新即可
function TitleDet()
let n = 1
"默認爲添加
let line = getline(n)
"let str = '^/\* COPYRIGHT NOTICE$'
let str = '^/\* 版權聲明$'
if line =~ str
call UpdateTitle()
return
endif
call AddTitle()
endfunction
""""""""""""""""""""""""""""""""""""""""""""""""""
""快捷鍵F5,生成main函數模板
map <F5> :call TitleDet_main()<cr>'s
function AddTitle_main()
"call append( 0, "/* COPYRIGHT NOTICE")
call append( 0, "\/* 版權聲明")
call append( 1, " * 功能 :")
call append( 2, " * 作者 :lsy")
call append( 3, " * 文件路徑 : ".expand("%:p:h")."/".expand("%:t"))
call append( 4, " * 創建時間 :".strftime("%Y/%m/%d %H:%M"))
call append( 5, " *\/")
call append( 6, "")
call append( 7, "#include <stdio.h>")
call append( 8, "#include <string.h>")
call append( 9, "")
call append(10, "int main(int argc, char *argv[]) {")
call append(11, "")
call append(12, " return 0;")
call append(13, "}")
echohl WarningMsg | echo "Successful in adding the main function." | echohl None
endfunction
"更新最近修改時間和文件名
function UpdateTitle_main()
normal m'
execute '/# @date /s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
normal ''
normal mk
execute '/# @file /s@:.*$@\=":".expand("%:p:h")."\\".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the main function." | echohl None
endfunction
"判斷前10行代碼裏面,是否有COPYRIGHT NOTICE這個單詞,
"如果沒有的話,代表沒有添加過作者信息,需要新添加;
"如果有的話,那麼只需要更新即可
function TitleDet_main()
let n = 1
"默認爲添加
let line = getline(n)
"let str = '^/\* COPYRIGHT NOTICE$'
let str = '^/\* 版權聲明$'
if line =~ str
call UpdateTitle_main()
return
endif
call AddTitle_main()
endfunction
""""""""""""""""""""""""""""""""""""""""""""""""""
""快捷鍵F6,生成.h文件模板
map <F6> :call TitleDet_h()<cr>'s
function AddTitle_h()
"call append( 0, "/* COPYRIGHT NOTICE")
call append( 0, "\/* 版權聲明")
call append( 1, " * 功能 :")
call append( 2, " * 作者 :lsy")
call append( 3, " * 文件路徑 : ".expand("%:p:h")."/".expand("%:t"))
call append( 4, " * 創建時間 :".strftime("%Y/%m/%d %H:%M"))
call append( 5, " *\/")
call append( 6, "")
call append( 7, "#ifndef ")
call append( 8, "#define ")
call append( 9, "")
call append(10, "")
call append(11, "")
call append(12, "#endif")
echohl WarningMsg | echo "Successful in adding the .h file." | echohl None
endfunction
"更新最近修改時間和文件名
function UpdateTitle_h()
normal m'
execute '/# @date /s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
normal ''
normal mk
execute '/# @file /s@:.*$@\=":".expand("%:p:h")."\\".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the .h file." | echohl None
endfunction
"判斷前10行代碼裏面,是否有COPYRIGHT NOTICE這個單詞,
"如果沒有的話,代表沒有添加過作者信息,需要新添加;
"如果有的話,那麼只需要更新即可
function TitleDet_h()
let n = 1
"默認爲添加
let line = getline(n)
"let str = '^/\* COPYRIGHT NOTICE$'
let str = '^/\* 版權聲明$'
if line =~ str
call UpdateTitle_h()
return
endif
call AddTitle_h()
endfunction
然後保存退出即可使用快捷鍵:(注意所有文件都以第一行的“版權聲明”爲關鍵字,若已存在該關鍵字,則不會插入模板)
F4:插入文件頭註釋
F5:插入main函數模板
F6:插入.h文件框架模板