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 <<<