func SetFuncTitle()
let funcnodes = matchlist(getline('.'), '\(\(.*\) \)\?\(\(\w*\)::\)\?\(\w\+\)(\(.*\))')
let retval = funcnodes[2]
let classname = funcnodes[4]
let funcname = funcnodes[5]
let paras = funcnodes[6]
let title = []
call add(title ,"/*************************************************************************")
let funcnametitle = '* function name: '
if classname != ""
let funcnametitle = funcnametitle . classname . '::'
endif
let funcnametitle = funcnametitle . funcname
call add(title, funcnametitle)
if retval == ''
let retval = 'null'
endif
let retvaltitle = "* return: " . retval
call add(title, retvaltitle)
let paralist = split(paras, ', ')
let paratitle = '* parameters: '
echo paralist
if paralist == []
let paratitle = paratitle . 'null'
endif
call add(title, paratitle)
let paraindex = 1
if paralist != []
for eachpara in paralist
let paratitle = '* #' . paraindex . ': ' . eachpara
call add(title, paratitle)
let paraindex += 1
endfor
endif
call add(title, " ************************************************************************/")
call append(line(".")-1, title)
endfunc
vim自动插入C++和C函数头的脚本
最新推荐文章于 2019-04-29 22:16:00 发布