加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Vim如何自动添加代码文件头

发布时间:2016-09-08 07:24:37 所属栏目:Linux 来源:站长网
导读:首先感谢网上的大牛们: http://www.vimer.cn/ 还有这位兄台:http://www.oschina.net/code/snippet_103341_9644 有了Ubuntu怎么可以不用Vim? 然后就先逗比的

首先感谢网上的大牛们:

http://www.vimer.cn/

还有这位兄台: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绑定为添加或更新文件头。

主要的结构还是那位大牛的。。。我只是很捉急的修改了一点而已。。。

本栏目更多精彩内容:http://www.bianceng.cn/OS/Linux/

"进行版权声明的设置  
"添加或更新头  
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 CodeDefaultCode.cpp  
#       @date         :2014/06/10 18:06  
#       @algorithm    :  
=============================================================================*/

其实还可以做到根据不同的文件添加不同的代码头。。。工作量有点大,而且本弱主要也就写一个C++,然后就没搞了。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读