码迷,mamicode.com
首页 > 系统相关 > 详细

Vim中自动在程序起始处添加版权和作者信息

时间:2015-12-12 21:35:09      阅读:369      评论:0      收藏:0      [点我收藏+]

标签:

在编写程序的时候,经常需要在程序开始写上程序的简要介绍和作者信息,如下:

技术分享

 

这种信息,除了文件名和修改时间可能经常发生变化外,其他基本不变,可以在程序开始自动加入,方法就是在家目录下的.vimrc中写入:

技术分享
map <F4> :call TitleDet()<cr>
function AddTitle()
    call append(0,"\#!/usr/bin/env bash")
    call append(1,"# ******************************************************")
    call append(2,"# Author       : 90Zeng")
    call append(3,"# Last modified: ".strftime("%Y-%m-%d %H:%M"))
    call append(4,"# Email        : omezengjl@gmail.com")
    call append(5,"# Filename     : ".expand("%:t"))
    call append(6,"# Description  : ")
    call append(7,"# ******************************************************")
    echohl WarningMsg | echo "Successful in adding copyright." | echohl None
endf
 
function UpdateTitle()
     normal m     execute /# Last modified/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@
     normal ‘‘
     normal mk
     execute /# Filename/s@:.*$@\=":\t".expand("%:t")@
     execute "noh"
     normal k
     echohl WarningMsg | echo "Successful in updating the copyright." | echohl None
endfunction

function TitleDet()
    let n=1
    while n < 10
        let line = getline(n)
        if line =~ ^\#\s*\S*Last\smodified\S*.*$
            call UpdateTitle()
            return
        endif
        let n = n + 1
    endwhile
    call AddTitle()
endfunction
View Code

 技术分享

 技术分享

保存之后,vi test.sh,在norm 模式下按下F4即可,效果如下:

技术分享

 

假如下一时刻,我们将文件名称改为了test2.sh,然后需要更新上面的信息,只需要:mv test.sh test2.sh, 然后vim test2.sh,F4,会自动更新修改时间和文件名称

技术分享

 

如果我们经常需要写的python文件,那么在.vimrc中修改相应的字符即可,如下:

技术分享

效果如下:

技术分享

 

网上已经有插件实现了上述功能(http://www.vim.org/scripts/script.php?script_id=2902),但是对于安装插件不方便的场景,可以自己手动编写上述代码

参考:Vim在源代码中自动添加作者信息

Vim中自动在程序起始处添加版权和作者信息

标签:

原文地址:http://www.cnblogs.com/90zeng/p/vim_authorinfo.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!