" add header comments for .h .c .hpp .cpp .mk .sh new file " auto call SetTitle func autocmd BufNewFile *.[ch],*.hpp,*.cpp,Makefile,*.mk,*.sh,*.py exec ":call SetTitle()" " add comment for cpp func SetComment_ch() call setline(1,"/*================================================================") call append(line("."),"* Copyright (C) ".strftime("%Y")." * Ltd. All rights reserved.") call append(line(".")+1,"* ") call append(line(".")+2,"* File name : ".expand("%:t")) call append(line(".")+3,"* Author : longbin") call append(line(".")+4,"* Created date: ".strftime("%F %T")) call append(line(".")+5,"* Description : ") call append(line(".")+6,"*") call append(line(".")+7,"*===============================================================*/") call append(line(".")+8,"") call append(line(".")+9,"") endfunc " add comment for shell,Makefile func SetComment_sh() call setline(3,"#================================================================") call setline(4,"# Copyright (C) ".strftime("%Y")." * Ltd. All rights reserved.") call setline(5,"# ") call setline(6,"# File name : ".expand("%:t")) call setline(7,"# Author : longbin") call setline(8,"# Created date: ".strftime("%F %T")) call setline(9,"# Description : ") call setline(10,"#") call setline(11,"#================================================================") call setline(12,"") call setline(13,"") endfunc " SetTitle func,add comment func SetTitle() if &filetype == 'make' call setline(1,"") call setline(2,"") call SetComment_sh() elseif &filetype == 'sh' call setline(1,"#! /bin/bash") call setline(2,"") call SetComment_sh() elseif &filetype == 'python' call setline(1,"#! /usr/bin/env python") call setline(2,"# coding=utf-8") call setline(3,"") call SetComment_sh() else call SetComment_ch() if expand("%:e") == 'hpp' call append(line(".")+10,"#ifndef _".toupper(expand("%:t:r"))."_H") call append(line(".")+11,"#define _".toupper(expand("%:t:r"))."_H") call append(line(".")+12,"#ifdef __cplusplus") call append(line(".")+13,"extern \"C\"") call append(line(".")+14,"{") call append(line(".")+15,"#endif") call append(line(".")+16,"") call append(line(".")+17,"#ifdef __cplusplus") call append(line(".")+18,"}") call append(line(".")+19,"#endif") call append(line(".")+20,"#endif //".toupper(expand("%:t:r"))."_H") elseif expand("%:e") == 'h' call append(line(".")+10,"#pragma once") elseif &filetype == 'c' call append(line(".")+10,"#include \"".expand("%:t:r").".h\"") elseif &filetype == 'cpp' call append(line(".")+10,"#include \"".expand("%:t:r").".h\"") endif endif endfunc原文链接:https://www.f2er.com/bash/390111.html