如果在创建新的源程序文件时希望能自动产生一些注释,比如作者、创建日期,联系方式等,可以这样做:
编辑~/.vimrc 文件,加入代码:
autocmd BufNewFile *.[ch],*.hpp,*.cpp exec ":call SetTitle()"
func SetComment()
call setline(1,"/********************************************************")
call append(line("."), "* Copyright (C) ".strftime("%Y")." All rights reserved.")
call append(line(".")+1, "* ")
call append(line(".")+2, "* Filename:".expand("%:t"))
call append(line(".")+3, "* Author :wang@xd")
call append(line(".")+4, "* Date :".strftime("%Y-%m-%d"))
call append(line(".")+5, "* Describe:")
call append(line(".")+6, "*")
call append(line(".")+7, "********************************************************/")
endfunc
func SetTitle()
call SetComment()
if expand("%:e") == 'hpp'
call append(line(".")+8, "#ifndef _".toupper(expand("%:t:r"))."_H")
call append(line(".")+9, "#define _".toupper(expand("%:t:r"))."_H")
call append(line(".")+10, "#ifdef __cplusplus")
call append(line(".")+11, "extern \"C\"")
call append(line(".")+12, "{")
call append(line(".")+13, "#endif")
call append(line(".")+14, "")
call append(line(".")+15, "#ifdef __cplusplus")
call append(line(".")+16, "}")
call append(line(".")+17, "#endif")
call append(line(".")+18, "#endif //".toupper(expand("%:t:r"))."_H")
elseif expand("%:e") == 'h'
call append(line(".")+8, "#ifndef _".toupper(expand("%:t:r"))."_H")
call append(line(".")+9, "#define _".toupper(expand("%:t:r"))."_H")
call append(line(".")+10," ")
call append(line(".")+11, "#endif")
call append(line(".")+12, "#endif //".toupper(expand("%:t:r"))."_H")
elseif &filetype == 'c'
call append(line(".")+8,"#include \"".expand("%:t:r").".h\"")
elseif &filetype == 'cpp'
call append(line(".")+8, "#include \"".expand("%:t:r").".h\"")
endif
endfunc
原文:http://blog.csdn.net/yusiguyuan/article/details/41090709