基于
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 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('# ')
本文介绍了一个 Vim 编辑器的实用插件,该插件可以在保存文件时自动更新 LastChange 时间戳,并能根据不同文件类型使用不同的标记符号。通过简单的配置,此插件适用于多种文件格式,如 *.js, *.css, *.rb, *.py 和 *.sh 等。
1641

被折叠的 条评论
为什么被折叠?



