【Vim】自动添加代码文件头
首先感谢网上的大牛们:
还有这位兄台:http://www.oschina.net/code/snippet_103341_9644
有了Ubuntu怎么可以不用Vim?
然后就先逗比的现在Windows下装了gVim。。。。。。
果然是药不能停。。。。。。
一个不错的版本的传送门:【百度云】http://pan.baidu.com/s/1qWntcEK
然后就是添加文件头了。这个从Vimer大牛的博客中学到不少姿势,但是无奈我太弱了正则表达式都不会。。。。。。大牛用正则表达式来匹配,我是直接字符串匹配。。。。。。。给跪。。。。。
顺便把一些资料给大家:
添加路径和文件http://vim.wikia.com/wiki/Insert_current_filename
这个是Vim的设置代码,把F4绑定为添加或更新文件头。
主要的结构还是那位大牛的。。。我只是很捉急的修改了一点而已。。。
"进行版权声明的设置 "添加或更新头 map <F4> :call TitleDet()<cr>'s function AddTitle() call append( 0, "/*=============================================================================") call append( 1, "# COPYRIGHT NOTICE") call append( 2, "# Copyright (c) 2014") call append( 3, "# All rights reserved") call append( 4, "#") call append( 5, "# @author :Shen") call append( 6, "# @name :") call append( 7, "# @file :".expand("%:p:h")."\\".expand("%:t")) call append( 8, "# @date :".strftime("%Y/%m/%d %H:%M")) call append( 9, "# @algorithm :") call append(10, "=============================================================================*/") call append(11, "") echohl WarningMsg | echo "Successful in adding the copyright." | echohl None endf "更新最近修改时间和文件名 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 = 2 "默认为添加 let line = getline(n) let str = '^# COPYRIGHT NOTICE$' if line =~ str call UpdateTitle() return endif call AddTitle() endfunction
然后顺便附上结果:
/*============================================================================= # COPYRIGHT NOTICE # Copyright (c) 2014 # All rights reserved # # @author :Shen # @name : # @file :G:\My Source Code\DefaultCode.cpp # @date :2014/06/10 18:06 # @algorithm : =============================================================================*/
其实还可以做到根据不同的文件添加不同的代码头。。。工作量有点大,而且本弱主要也就写一个C++,然后就没搞了。
转载请说明出处,谢谢: Polo's Blog of cnblogs -> http://www.cnblogs.com/polossk ——Stay Hungry Stay Foolish, Shen.