本文共 4225 字,大约阅读时间需要 14 分钟。
在家目录下的.vimrc文件中增加如下代码即可,如果没有.vimrc文件,则新建该文件。
cd ~touch .vimrc #如果有该文件则跳过此步骤vim .vimrc
在文件末尾追加如下代码:
""""""""""""""""""""""""""""""""""""""""""""""""""快捷键F4,添加文件头注释,以及版权声明map:call TitleDet() 'sfunction 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 Noneendfunction"更新最近修改时间和文件名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 Noneendfunction"判断前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 :call TitleDet_main() 'sfunction 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 ") call append( 8, "#include ") 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 Noneendfunction"更新最近修改时间和文件名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 Noneendfunction"判断前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 :call TitleDet_h() 'sfunction 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 Noneendfunction"更新最近修改时间和文件名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文件框架模板转载地址:http://mjdkb.baihongyu.com/