vim用autocmd命令自动插入最后修改日期

1 篇文章 0 订阅

今晚试了很久,总算在文件头中实现--Last modified功能。

分为两个部分,第一:先自动在新文件中插入文件头;第二:自动修改Last modified

部分代码:

"新建.c,.h,.sh,.java文件,自动插入文件头 
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" 
""定义函数SetTitle,自动插入文件头 
func SetTitle() 
	"如果文件类型为.sh文件 
	if &filetype == 'sh' 
		call setline(1,"\#########################################################################") 
		call append(line("."), "\# File Name: ".expand("%")) 
		call append(line(".")+1, "\# Description: ") 
		call append(line(".")+2, "\# Author: chu") 
		call append(line(".")+3, "\# Mail: ) 
		call append(line(".")+4, "\# Created_Time: ".strftime("%Y-%m-%d %H:%M:%S")) 
		call append(line(".")+5, "\# Last modified: ".strftime("%Y-%m-%d %H:%M:%s"))
		call append(line(".")+6, "\#########################################################################") 
		call append(line(".")+7, "\#!/bin/bash") 
		call append(line(".")+8, "") 
	else 
		call setline(1, "/*************************************************************************") 
		call append(line("."),  "  * File Name: ".expand("%")) 
		call append(line(".")+1, "  * Description: ") 
		call append(line(".")+2, "  * Author: chu") 
		call append(line(".")+3, "  * Mail: ") 
		call append(line(".")+4, "  * Created_Time: ".strftime("%Y-%m-%d %X")) 
		call append(line(".")+5, "  * Last modified: ".strftime("%Y-%m-%d %X")) 
		call append(line(".")+6, " ************************************************************************/") 
		call append(line(".")+7, "")
	endif
	
"新建文件后,自动定位到文件末尾
	autocmd BufNewFile * normal G
endfunc

"""""""""""""""""""""""""""""""""""""""""
""实现上面函数中的,Last modified功能
"""""""""""""""""""""""""""""""""""""""""
autocmd BufWrite,BufWritePre,FileWritePre  *.c    ks|call LastModified()|'s  
func LastModified()
	if line("$") > 20
		let l = 20
	else 
		let l = line("$")
	endif
	exe "1,".l."g/Last modified: /s/Last modified: .*/Last modified:".
			\strftime(" %Y-%m-%d %X" ) . "/e"
endfunc

""""""""""""""""""""


我设置为对所有的.c文件都自动调用LastModified函数


参考文献:http://www.cnblogs.com/soli/archive/2007/09/07/885044.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值