由于blog各种垃圾评论太多,而且本人审核评论周期较长,所以懒得管理评论了,就把评论功能关闭,有问题可以直接qq骚扰我

为vim编辑器添加默认的作者信息

Linux 西门飞冰 6598℃

很多程序员都想给自己的程序添加一些作者信息之类的信息,那么我们应该怎么实现这个要求呐?

已shell脚本为例,只需要修改/etc/vimrc配置文件,在文件末尾添加如下内容即可

#为F4按键添加作者信息,如果需要在添加一个python可以添加F5
map <F4> ms:call TitleDet()<cr>'s
function AddTitle()
    call append(0,"#!/bin/bash")
    call append(1,"##############################################")
    call append(2,"#Author: xmfb - 2723216002@qq.com")
    call append(3,"#QQ:2723216002")
    call append(4,"#Last modified: ".strftime("%Y-%m-%d %H:%M"))
    call append(5,"#Filename: ".expand("%:t"))
    call append(6,"#Description: ")
    call append(7,"##############################################")
    echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endfunction
#修改文件修改时间和文件名
function UpdateTitle()
    normal m'
    execute '/#*Last modified:/s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
    normal ''
    normal mk
    execute '/#*Filename:/s@:.*$@\=":".expand("%:t")@'
    execute "noh"
    normal 'k
    echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
#判断如果前10行中如果有Last modified:字段
#如果没有的话,则代表没有添加过作者的信息等条件,则重新添加
#如果有的话,那么只更新修改时间和文件名
function TitleDet()
    let n=1
    while n < 7 
        let line = getline(n)
        if line =~ '^\#\s*\S*Last\smodified:\S*.*$'
            call UpdateTitle()
            return
        endif
        let n = n + 1
    endwhile
    call AddTitle()
endfunction

添加完成之后,打开一个test.sh的文件,按F4就会出现如下信息。

(mypy) [root@node1 ~]# vim test.sh

#!/bin/bash
##############################################
#Author: xmfb - 2723216002@qq.com
#QQ:2723216002
#Last modified: 2016-05-03 22:29
#Filename: test.sh
#Description: 
##############################################

 

转载请注明:西门飞冰的博客 » 为vim编辑器添加默认的作者信息

喜欢 (2)or分享 (0)