vim创建程序文件自动添加头部注释

有时候编写程序文件时,经常需要添加一些头部注释,比如创建者,创建日期,版本声明或者功能描述之类的,如果每次都要添加一次注释,便显得比较麻烦,因此,可以在vim新建文件时,自动添加头部注释。


1. 比如创建.c .h .cpp .hpp .java等c/c++ ,java程序文件, 注释使用 “/* */”


vim vdi_connect.c



2. 创建shell脚本,mk文件,注释使用 “#”

vim set_otg_usb_mode.sh




vim如何支持?

修改 ~/.vimrc,在文件最后添加以下内容:

" 当新建 .h .c .hpp .cpp .mk .sh等文件时自动调用SetTitle 函数
autocmd BufNewFile *.[ch],*.hpp,*.cpp,Makefile,*.mk,*.sh exec ":call SetTitle()" 

" 加入注释 
func SetComment()
	call setline(1,"/*================================================================") 
	call append(line("."),   "*   Copyright (C) ".strftime("%Y")." Sangfor Ltd. All rights reserved.")
	call append(line(".")+1, "*   ") 
	call append(line(".")+2, "*   文件名称:".expand("%:t")) 
	call append(line(".")+3, "*   创 建 者:LuZhenrong")
	call append(line(".")+4, "*   创建日期:".strftime("%Y年%m月%d日")) 
	call append(line(".")+5, "*   描    述:") 
	call append(line(".")+6, "*")
	call append(line(".")+7, "================================================================*/") 
	call append(line(".")+8, "")
	call append(line(".")+9, "")
endfunc

" 加入shell,Makefile注释
func SetComment_sh()
	call setline(3, "#================================================================") 
	call setline(4, "#   Copyright (C) ".strftime("%Y")." Sangfor Ltd. All rights reserved.")
	call setline(5, "#   ") 
	call setline(6, "#   文件名称:".expand("%:t")) 
	call setline(7, "#   创 建 者:LuZhenrong")
	call setline(8, "#   创建日期:".strftime("%Y年%m月%d日")) 
	call setline(9, "#   描    述:") 
	call setline(10, "#")
	call setline(11, "#================================================================")
	call setline(12, "")
	call setline(13, "")
endfunc 

" 定义函数SetTitle,自动插入文件头 
func SetTitle()

	if &filetype == 'make' 
		call setline(1,"") 
		call setline(2,"")
		call SetComment_sh()

	elseif &filetype == 'sh' 
		call setline(1,"#!/system/bin/sh") 
		call setline(2,"")
		call SetComment_sh()
		
	else
	     call SetComment()
	     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




  • 14
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值