每個程序(xu)員都有(you)自己心愛的代碼編輯(ji)和(he)查看工具,相信不(bu)少Linux下的程序(xu)員都喜歡用Vim,盡管Vim沒(mei)有(you)SourceInsight這種(zhong)依托于桌面環境的編輯(ji)器(qi)看起來那樣強大,但是Vim的高效、簡潔以(yi)及強大的可(ke)配置(zhi)性都讓(rang)它吸(xi)引了無(wu)數忠(zhong)實的fans。
很(hen)多編(bian)輯器都支持在源代碼中自動添加(jia)作(zuo)者(zhe)信(xin)息的(de)功能,SourceInsight就有(you)這項(xiang)功能。Vim默(mo)認是沒有(you)這個功能,但是只(zhi)要我們稍作(zuo)配置(zhi),就可以實(shi)現這個功能了。
在Linux下我們需要修改Vim的配置文件vimrc,位于:
/etc/vim/vimrc
在window下Vim的配(pei)置文件位于安裝目錄下的_vimrc。
然后在配置文件中添加如下信息,就可以實現在源代碼中自動添加作者信息了:
“將鍵盤上的F4功能鍵映射為添加作者信息的快捷鍵
map <F4> ms:call TitleDet()<cr>'s
function AddTitle()
call append(0,"/*******************************************************************************")
"call append(1,"#")
call append(1," * Author : YangShuo")
"call append(3,"#")
call append(2," * Email : ys@farsight.com.cn")
"call append(5,"#")
call append(3," * Last modified : ".strftime("%Y-%m-%d %H:%M"))
"call append(7,"#")
call append(4," * Filename : ".expand("%:t"))
"call append(9,"#")
call append(5," * Description : ")
"call append(11,"#")
call append(6," * *****************************************************************************/")
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf
“更新近修改時間和文件名
normal m'
execute '/# *Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@'
normal "
normal mk
execute '/# *Filename:/s@:.*$@\=":\t\t".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the copy right."| echohl None
endfunction
“判斷前10行代碼里面,是否有Last modified這個單詞,
“如果沒有的話,代表沒有添加過作者信息,需要新添加;
“如果有的話,那么只需要更新即可
function TitleDet()
let n=1
while n < 10
let line = getline(n)
if line =~'^\#\s*\S*Last\smodified:\S*.*$'
call UpdateTitle()
return
endif
let n = n + 1
endwhile
call AddTitle()
endfunction
這(zhe)(zhe)段配置(zhi)在Linux和window下均可正(zheng)常運(yun)行。這(zhe)(zhe)樣(yang)在一個C/C++/JAVA/C#的(de)源代碼(ma)里面,只需(xu)要按一下F4,就可以(yi)自動添加作者信息了。大家(jia)只需(xu)要修改上面這(zhe)(zhe)段配置(zhi)關于作者信息的(de)代碼(ma),就可以(yi)添加自己(ji)的(de)信息了。
這(zhe)是在我電(dian)腦(nao)上(shang)運(yun)行的結果,看(kan)一看(kan),是不是很帥:

趕快動手吧,把這(zhe)段配置(zhi)添加(jia)到你的(de)vimrc里,這(zhe)樣你就可以輕松地在源(yuan)文件開始添加(jia)你的(de)相關信息了(le),讓我們(men)的(de)代碼更加(jia)規范。