您的位置:首页 > 其它

VIM配置自动添加作者信息

2015-04-12 20:37 393 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: