首先感謝網上的大牛們:
http://www.vimer.cn/
還有這位兄台:http://www.oschina.net/code/snippet_103341_9644
有了Ubuntu怎麼可以不用Vim?
然後就先逗比的現在Windows下裝了gVim。。。。。。
果然是藥不能停。。。。。。
一個不錯的版本的傳送門:【百度雲】http://pan.baidu.com/s/1qWntcEK
然後就是添加檔案頭了。這個從Vimer大牛的部落格中學到不少姿勢,但是無奈我太弱了Regex都不會。。。。。。大牛用Regex來匹配,我是直接字串匹配。。。。。。。給跪。。。。。
順便把一些資料給大家:
添加路徑和檔案http://vim.wikia.com/wiki/Insert_current_filename
這個是Vim的設定代碼,把F4綁定為添加或更新檔案頭。
主要的結構還是那位大牛的。。。我只是很捉急的修改了一點而已。。。
本欄目更多精彩內容:http://www.bianceng.cnhttp://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++,然後就沒搞了。