首先感謝網上的大牛們:
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++,然後就沒搞了。