gvim自动插入文件头部信息(windows实测)

Linux实现

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

在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

原文链接

Windows下实现

在gvim安装程序根目录(参考下图位置)的_vimrc文件结尾添加下面的代码
根目录在这里

"AddFileHead()函数可自己定义"
noremap <F4> ms:call AddFileHead()<cr>
function  AddFileHead()
    call append(0,"#Head")
    call append(1,"# **********************************************************")
    call append(2,"# * Author        : *****")
    call append(3,"# * Email         : **********@qq.com")
    call append(4,"# * Create time   : ".strftime("%Y-%m-%d %H:%M"))
    call append(5,"# * Filename      : ".expand("%:t"))
    call append(6,"# * Description   : ")
    call append(7,"# **********************************************************")
endfunction

用gvim打开或新建任意文件则可以通过点击F4键自动在行首插入头信息,效果如下
效果还行
该功能有个问题,就是每次点击F4都会增加一次头信息, 解决方法"Linux实现"中有提供
参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值