首先感謝網上的大牛們:
http://www.vimer.cn/
還有這位兄台:http://www.oschina.net/code/snippet_103341_9644
有了Ubuntu怎麼可以不用Vim?
然後就先逗比的現在Windows下裝了gVim。。。。。。
果然是藥不能停。。。。。。
一個不錯的版本的傳送門:【百度雲】http://pan.baidu.com/s/1qWntcEK
然後就是添加文件頭了。這個從Vimer大牛的博客中學到不少姿勢,但是無奈我太弱了正則表達式都不會。。。。。。大牛用正則表達式來匹配,我是直接字符串匹配。。。。。。。給跪。。。。。
順便把一些資料給大家:
添加路徑和文件http://vim.wikia.com/wiki/Insert_current_filename
這個是Vim的設置代碼,把F4綁定為添加或更新文件頭。
主要的結構還是那位大牛的。。。我只是很捉急的修改了一點而已。。。
本欄目更多精彩內容:http://www.bianceng.cn/OS/Linux/
"進行版權聲明的設置
"添加或更新頭
map <F4> :call TitleDet()<cr>'s
function AddTitle()
call append( 0, "/*=============================================================================")
call append( 1, "# COPYRIGHT NOTICE")
call append( 2, "# Copyright (c) 2014")
call append( 3, "# All rights reserved")
call append( 4, "#")
call append( 5, "# @author :Shen")
call append( 6, "# @name :")
call append( 7, "# @file :".expand("%:p:h")."\\".expand("%:t"))
call append( 8, "# @date :".strftime("%Y/%m/%d %H:%M"))
call append( 9, "# @algorithm :")
call append(10, "=============================================================================*/")
call append(11, "")
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf
"更新最近修改時間和文件名
function UpdateTitle()
normal m'
execute '/# @date /s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
normal ''
normal mk
execute '/# @file /s@:.*$@\=":".expand("%:p:h")."\\".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
"判斷前10行代碼裡面,是否有COPYRIGHT NOTICE這個單詞,
"如果沒有的話,代表沒有添加過作者信息,需要新添加;
"如果有的話,那麼只需要更新即可
function TitleDet()
let n = 2
"默認為添加
let line = getline(n)
let str = '^# COPYRIGHT NOTICE$'
if line =~ str
call UpdateTitle()
return
endif
call AddTitle()
endfunction
然後順便附上結果:
/*============================================================================= # COPYRIGHT NOTICE # Copyright (c) 2014 # All rights reserved # # @author :Shen # @name : # @file :G:\My Source Code\DefaultCode.cpp # @date :2014/06/10 18:06 # @algorithm : =============================================================================*/
其實還可以做到根據不同的文件添加不同的代碼頭。。。工作量有點大,而且本弱主要也就寫一個C++,然後就沒搞了。