`
bellstar
  • 浏览: 148169 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

让VIM自动更新最后修改时间

阅读更多
基于
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Last change用到的函数,返回时间,能够自动调整位置
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
function! TimeStamp(...)
	let sbegin = ''
	let send = ''
    let pend = ''
	if a:0 >= 1
        let sbegin = '' . a:1
        let sbegin = substitute(sbegin, '*', '\\*', "g")
		let sbegin = sbegin . '\s*'
	endif
	if a:0 >= 2
		let send = '' . a:2
        let pend = substitute(send, '*', '\\*', "g")
	endif
	let pattern = 'Last Change: .\+' . pend
	let pattern = '^\s*' . sbegin . pattern . '\s*$'
	let now = strftime('%Y-%m-%d %H:%M:%S',localtime())

	let row = search(pattern, 'n')
	if row  == 0
		let now = a:1 . 'Last Change:  ' . now . send
		call append(2, now)
	else
		let curstr = getline(row)

		let col = match( curstr , 'Last')
		let now = a:1 . 'Last Change:  ' . now . send
		call setline(row, now)
	endif
endfunction

"" Last Change:  2010-07-29 18:50:39
au BufWritePre _vimrc call TimeStamp('" ')

" * Last Change:  2010-07-29 18:50:39
au BufWritePre *.js,*.css call TimeStamp(' * ')

"# Last Change:  2010-07-29 18:50:39
au BufWritePre *.rb,*.py,*.sh call TimeStamp('# ')
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics