VIM配置自动添加作者信息
在/etc/vimrc里面添加下面代码
分C语言,Python,Shell,三种类型
配置的快捷键为F4
map <F4> ms:call AddAuthor()<cr>'S
function AddAuthor()
let n=1
while n < 11
let line = getline(n)
if line=~'[#]*\s*\*\s*\S*Last\s*modified\s*:\s*\S*.*$'
call UpdateTitle()
return
endif
let n = n + 1
endwhile
if &filetype == 'sh'
call AddTitleForShell()
elseif &filetype == 'python'
call AddTitleForPython()
else
call AddTitleForC()
endif
endfunction
function UpdateTitle()
normal m'
execute '/* Last modified\s*:/s@:.*$@\=strftime(": %Y-%m-%d %H:%M")@'
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 AddTitleForC()
call append(0,"/**********************************************************")
call append(1," * Author : 作者姓名")
call append(2," * Email : 作者邮箱")
call append(3," * Create time : ".strftime("%Y-%m-%d %H:%M"))
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
"" add comment for Python
function AddTitleForPython()
call append(0,"#!/usr/bin/python")
call append(1,"# -*- coding: UTF-8 -*-")
call append(2,"")
call append(3,"# **********************************************************")
call append(4,"# * Author : 作者姓名")
call append(5,"# * Email : 作者邮箱")
call append(6,"# * Create time : ".strftime("%Y-%m-%d %H:%M"))
call append(7,"# * Last modified : ".strftime("%Y-%m-%d %H:%M"))
call append(8,"# * Filename : ".expand("%:t"))
call append(9,"# * Description : ")
call append(10,"# **********************************************************")
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endfunction
"" add conment for shell
function AddTitleForShell()
call append(0,"#!/bin/bash")
call append(1,"# **********************************************************")
call append(2,"# * Author : 作者姓名")
call append(3,"# * Email : 作者邮箱")
call append(4,"# * Create time : ".strftime("%Y-%m-%d %H:%M"))
call append(5,"# * Last modified : ".strftime("%Y-%m-%d %H:%M"))
call append(6,"# * Filename : ".expand("%:t"))
call append(7,"# * Description : ")
call append(8,"# **********************************************************")
endfunction