通过Vim创建文件时,有时需要在文件前面加上版权、作者、创建时间等信息
修改/etc/vim/vimrc 在最后添加下面代码
"add by zhangjj
autocmd BufNewFile *.c,*.h,*.sh exec "call AddTitle()"
function AddTitle()
if &filetype=='sh'
call append( 0, "\#!/bin/bash")
call append( 1, "#")
call append( 2, "# COPYRIGHT NOTICE")
call append( 3, "# Copyright (C) 2016 HuaHuan Electronics Corporation, Inc. All rights reserved")
call append( 4, "#")
call append( 5, "# Author :Kevin_fzs")
call append( 6, "# File Name :".expand("%:p:h")."\/".expand("%:t"))
call append( 7, "# Create Date :".strftime("%Y/%m/%d %H:%M"))
call append( 8, "# Last Modified :".strftime("%Y/%m/%d %H:%M"))
call append( 9, "# Description :")
call append(10, "#")
call append(11, "")
else
call append( 0, "/*")
call append( 1, "* COPYRIGHT NOTICE")
call append( 2, "* Copyright (C) 2016 HuaHuan Electronics Corporation, Inc. All rights reserved")
call append( 3, "*")
call append( 4, "* Author :Kevin_fzs")
call append( 5, "* File Name :".expand("%:p:h")."\/".expand("%:t"))
call append( 6, "* Create Date :".strftime("%Y/%m/%d %H:%M"))
call append( 7, "* Last Modified :".strftime("%Y/%m/%d %H:%M"))
call append( 8, "* Description :")
call append( 9, "*/")
call append(10, "")
endif
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endfunction
map <F4> :call TitleDet() <cr>'s
"更新最近修改时间和文件名
function UpdateTitle()
normal m'
execute '/*Last Modified/s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
normal ''
normal mk
execute '/*File Name/s@:.*$@\=":".expand("%:p:h")."\\".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the copyright." | echohl None
endfunction
"判断前10行代码里面,是否有COPYRIGHT NOTICE这个单词,
"如果没有的话,代表没有添加过作者信息,需要新添加;
"如果有的话,那么只需要更新即可
function TitleDet()
let n = 1
while n < 10
let line = getline(n)
if line =~ '^\*\s*\S*Last\sModified\S*.*$'
call UpdateTitle()
return
endif
let n = n + 1
endwhile
call AddTitle()
endfunction