vim实现自动添加相应的脚本信息

描述:一般情况下为了规范脚本,会在开头的位置注释写上作者的信息,写脚本的时间,脚本的功能等等信息

在centos 7.4的系统下所做的操作,使用root身份进行修改/etc/vimrc的文件,在文件末尾添加如下的代码

[root@x ~]# vim /etc/vimrc
" Vim auto generate script info
map <F4> ms:call AddAuthor()<cr>'s

function AddAuthor()
        let n=1
        while n < 5
                let line = getline(n)
                if line =~'^\s*\*\s*\S*Last\s*modified\s*:\s*\S*.*$'
                        call UpdateTitle()
                        return
                endif
                let n = n + 1
        endwhile
        call AddTitle()
endfunction

function UpdateTitle()
        normal m'
        execute '/* Last modified\s*:/s@:.*$@\=strftime(": %Y-%m-%d %H:%M")@'
        normal "
        normal mk
        execute '/* Filename\s*:/s@:.*$@\=": ".expand("%:t")@'
        execute "noh"
        normal 'k
        echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction

function AddTitle()
        call append(0,"#!/usr/local/python3/bin/python3")
        call append(1,"############################################################")
        call append(2,"# Author        : Reid")
        call append(3,"# Email         : 122@163.com")
        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

 

解释:

将键盘上的F4功能键映射为添加作者信息的快捷键,4功能键映射为AddAuthor()函数,按下F4时,将调用AddAuthor()函数

 

添加AddAuthor()函数,函数的功能是判断文件前5行内容是否有Last modified这个单词,如果没有,代表没有添加过作者信息,需要新添加;如果有只需更新这个单词后的文件更改时间即可

 

AddAuthor()函数中,用到了另外两个函数:UpdateTitle()更新更改时间函数和AddTitle()新添加作者信息函数,添加UpdateTitle()更新更改时间函数,在AddAuthor()函数判断文件前五行内容中出现Last modified字符后,将执行此函数进行更新时间


添加AddTitle()新添加作者信息函数,在AddAuthor()函数判断文件前五行内容中没有出现Last modified字符,将执行此函数进行添加作者信息,此函数需要设置作者信息的内容,可自行设置,但必须要有” Last modified”信息行,且此行必须在前5行内,否则AddAuthor()函数在前5行判断不到此条信息,那么每按一次F4都将添加作者信息

 

保存退出后可以测试如下,打开一个新文件时,按下F4键

 

简单建议模板

[root@node1 ~]# vim /etc/vimrc 
28 autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec
29 autocmd BufNewFile *.sh 0r /usr/share/vim/vimfiles/template.sh
30 autocmd BufNewFile *.py 0r /usr/share/vim/vimfiles/template.py
[root@node1 ~]# cat /usr/share/vim/vimfiles/template.sh
#!/usr/bin/bash
[root@node1 ~]# cat /usr/share/vim/vimfiles/template.py
#!/usr/bin/python

  

posted @ 2018-02-16 07:31  Reid21  阅读(865)  评论(0编辑  收藏  举报