Linux系统下为使用Vim编辑的文件自动添加和更新作者以及日期等信息

Linux系统下为使用Vim编辑的文件自动添加和更新作者以及日期等信息

我们在编写程序时,有时需要在代码前加上如下信息:

#!/bin/python3
# ******************************************************
# Filename     : test.py
# Author       : your_name
# Email        : your_email@qq.com
# Create time  : 2020-08-14 19:42
# Last modified: 2020-08-14 19:42
# Description  : add author information
# Version      : V1.0
# ******************************************************

实现该功能的方法如下:

1. 找到需要添加配置文件.vimrc

.vimrc是隐藏文件,通常在家目录下,如果没有则重新创建一个。

2. 编辑配置.vimrc文件

" >>> add author information in vim >>>   # 双引号"为注释符号
" for vim file title
map <F1> :call AuthorInfo()<cr>   # 使用Vim编辑文件时,按F1即可自动添加相关信息
function AddInfo()
    if &filetype == 'sh'    # 如果文件名是以sh结尾的shell文本
        call append(0,"\#!/bin/bash")
    elseif &filetype == 'python'   # 如果文件名是以py结尾的python文本
        call append(0,"\#!/bin/python3")
    else   # 可根据自身需要,继续添加其他格式文本
        return
    endif
    call append(1,"# ******************************************************")
    call append(2,"# Filename     : ".expand("%:t"))
    call append(3,"# Author       : your_name")
    call append(4,"# Email        : your_email@qq.com")
    call append(5,"# Create time  : ".strftime("%Y-%m-%d %H:%M"))
    call append(6,"# Last modified: ".strftime("%Y-%m-%d %H:%M"))
    call append(7,"# Description  : ")
    call append(8,"# Version      : ")
    call append(9,"# ******************************************************")
    echohl WarningMsg | echo "Successful in adding the author information!" | echohl None
endfunction

function UpdateInfo()   # 修改文件名称或内容后,按F1可以更新相关信息
    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 author information!" | echohl None
endfunction

function AuthorInfo()   # 检查前9行,如果存在"Last modified"则更新信息,不存在则添加信息
    let n=1
    while n < 10
        let line = getline(n)
        if line =~ '^\#\s*\S*Last\smodified\S*.*$'
            call UpdateInfo()
            return
        endif
        let n = n + 1
    endwhile
    call AddInfo()
endfunction
" <<< add author information in vim <<<
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值